代码转换器java 代码转换器软件
有没有c++代码转换成JAVA代码的工具
当然没有啦,怎么可能会有,如果有的话干嘛还分C++和java呢,还不如叫一个呢
田东ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
求java金额转换器代码
package com;
// java金额转换
/**
* @author wangmj
* 编写时间:2005-8-2 br /
* 优化:2008-07-03
* 类的名称为:RMB.java br /
* 比较完善的解决方案。 测试通过。 br /
* 最准确的使用就是小数点之前最多13位,小数点之后不限,当然写多了也没有用,哈哈。br /
*/
import java.text.DecimalFormat;
import java.text.NumberFormat;
// 总体思路:
// 对数字进行分级处理,级长为4
// 对分级后的每级分别处理,处理后得到字符串相连
// 如:123456=12|3456
// 第二级:12=壹拾贰 + “万”
// 第一级:3456 =叁千肆百伍拾陆 + “”
public final class RMB {
private double amount = 0.0D;
private static final String NUM = "零壹贰叁肆伍陆柒捌玖";
private static final String UNIT = "仟佰拾个";
private static final String GRADEUNIT = "仟万亿兆";
private static final String DOTUNIT = "角分厘";
private static final int GRADE = 4;
private static final String SIGN = "¥";
private static final NumberFormat nf = new DecimalFormat("#0.###");
/**
* 带参数的构造方法
*
* @param amount
*/
private RMB(double amount) {
this.amount = amount;
}
public static String toBigAmt(double amount) {
nf.setMinimumFractionDigits(3);//小数点后不足的补零
String amt = nf.format(amount);//将double类型的数格式化并转换成字符串,实际上进行了四舍五入
System.out.println(amt);
Double d = new Double(amount);
String dotPart = ""; //取小数位
String intPart = ""; //取整数位
int dotPos;
if ((dotPos = amt.indexOf('.')) != -1) {
intPart = amt.substring(0, dotPos);
dotPart = amt.substring(dotPos + 1);
if(dotPart.length()4){ //超过4位直接截取
dotPart = dotPart.substring(0,4);
}
} else {
intPart = amt;
}
if (intPart.length() 16)
throw new java.lang.InternalError("数额太大,无法转换。");
String intBig = intToBig(intPart);
String dotBig = dotToBig(dotPart);
//以下代码稍做修改,现在好多了。
if ((dotBig.length() == 0) (intBig.length() != 0)) {
return intBig + "元整";
} else if ((dotBig.length() == 0) (intBig.length() == 0)) {
return intBig + "零元";
} else if ((dotBig.length() != 0) (intBig.length() != 0)) {
return intBig + "元" + dotBig;
} else {
return dotBig;
}
}
/**
* 用来处理几角几分几厘
* @param dotPart
* @return
*/
private static String dotToBig(String dotPart) {
//得到转换后的大写(小数部分)
String strRet = "";
for (int i = 0; i dotPart.length() i 3; i++) {
int num;
if ((num = Integer.parseInt(dotPart.substring(i, i + 1))) != 0)
strRet += NUM.substring(num, num + 1)
+ DOTUNIT.substring(i, i + 1);
}
return strRet;
}
/**
* 用来处理多少元 ,这个要仔细考虑才行
* @param intPart
* @return
*/
private static String intToBig(String intPart) {
//得到转换后的大写(整数部分)
int grade; //级长
String result = "";
String strTmp = "";
//得到当级长
grade = intPart.length() / GRADE;
//调整级次长度
if (intPart.length() % GRADE != 0)
grade += 1;
//对每级数字处理,先处理最高级,然后再处理低级的
for (int i = grade; i = 1; i--) {
strTmp = getNowGradeVal(intPart, i);//取得当前级次数字
result += getSubUnit(strTmp);//转换大写
//System.out.println(strTmp+"|"+getSubUnit(strTmp));
result = dropZero(result);//除零 去掉连续的零
//System.out.println("result="+result);
//加级次单位
if (i 1) //末位不加单位
//单位不能相连续
//注意:连续4个零的时候要特殊处理(wmj修改此bug)
if(getSubUnit(strTmp).equals("零零零零")){
result = result+"零";
}else{
result += GRADEUNIT.substring(i - 1, i);
}
}
return result;
}
private static String getNowGradeVal(String strVal, int grade) {
//得到当前级次的串
String rst;
if (strVal.length() = grade * GRADE)
rst = strVal.substring(0, strVal.length() - (grade - 1) * GRADE);
else
rst = strVal.substring(strVal.length() - grade * GRADE, strVal
.length()
- (grade - 1) * GRADE);
return rst;
}
private static String getSubUnit(String strVal) {
//数值转换
String rst = "";
for (int i = 0; i strVal.length(); i++) {
String s = strVal.substring(i, i + 1);
int num = Integer.parseInt(s);
if (num == 0) {
//“零”作特殊处理
if (i != strVal.length()) //转换后数末位不能为零
rst += "零";
} else {
//If IntKey = 1 And i = 2 Then
//“壹拾”作特殊处理
//“壹拾”合理
//Else
rst += NUM.substring(num, num + 1);
//End If
//追加单位
if (i != strVal.length() - 1)//个位不加单位
rst += UNIT.substring(i + 4 - strVal.length(), i + 4
- strVal.length() + 1);
}
}
return rst;
}
/**
*
* @param strVal
* @return
*/
private static String dropZero(String strVal) {
//去除连继的“零”
String strRst;
String strBefore; //前一位置字符
String strNow; //现在位置字符
strBefore = strVal.substring(0, 1);
strRst = strBefore;
for (int i = 1; i strVal.length(); i++) {
strNow = strVal.substring(i, i + 1);
if (strNow.equals("零") strBefore.equals("零"))
;//同时为零
else
strRst += strNow;
strBefore = strNow;
}
//末位去零
if (strRst.substring(strRst.length() - 1, strRst.length()).equals("零"))
strRst = strRst.substring(0, strRst.length() - 1);
return strRst;
}
public static void main(String[] args) {
System.out.println(RMB.toBigAmt(0.090D));
System.out.println(RMB.toBigAmt(10.090D));
System.out.println(RMB.toBigAmt(9.090D));
System.out.println(RMB.toBigAmt(9.290D));
System.out.println(RMB.toBigAmt(5.90D));
// System.out.println(RMB.toBigAmt(10052345.00D));
// System.out.println(RMB.toBigAmt(0.00D));
// System.out.println(RMB.toBigAmt(0.60D));
// System.out.println(RMB.toBigAmt(00.60D));
// System.out.println(RMB.toBigAmt(150.2101D));
// System.out.println(RMB.toBigAmt(15400089666.234D));
// System.out.println(RMB.toBigAmt(15400089666.2347D));
// System.out.println(RMB.toBigAmt(1111222233334444.2347D));
System.out.println(RMB.toBigAmt(111222233334444.2347D));
System.out.println(RMB.toBigAmt(11222233334444.2347D));
System.out.println(RMB.toBigAmt(1222233334444.2347D));
System.out.println(RMB.toBigAmt(222233334444.2347D));
// System.out.println(RMB.toBigAmt(33334444.2347D));
// java.math.BigDecimal bg = new java.math.BigDecimal(1111222233334444.2347D);
// System.out.println(bg.toString());
// //1111222233334444.25 BigDecimal也不是很准确
System.out.println(RMB.toBigAmt(22200004444.2347D));
// //贰佰贰拾贰亿万肆仟肆佰肆拾肆元贰角叁分伍厘
System.out.println(RMB.toBigAmt(10004.2347D));
System.out.println(RMB.toBigAmt(22200000004.2347D));
System.out.println(RMB.toBigAmt(10400.0047D));
System.out.println(RMB.toBigAmt(1000000000000.23477777777777D));
System.out.println(RMB.toBigAmt(100100100.090566D));
//壹亿零壹拾万零壹佰元玖分
//壹亿零壹拾万零壹佰元玖分
}
}
网上找的 你参考下吧
java十六进制转换器编码
public class HelloWorld
{
public static void main(String []args)
{
int number=123456;
System.out.println(Integer.toHexString(number)); // 小写的
System.out.println(Integer.toHexString(number).toUpperCase()); // 大写的
System.out.println("0x"+Integer.toHexString(number)); // 加上0x前缀的
}
}
运行结果:
数据单位转换工具java代码
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class UnitTransfer extends JFrame{
private final int WIDTH = 400, HEIGHT = 300;//窗口默认的宽度、高度
private JLabel lblInUnit=new JLabel("输入单位");
private JComboBox cboIn=new JComboBox(new String[]{"", ""});
private JLabel lblIn=new JLabel("输入数值");
private JTextField txtIn=new JTextField("10");
private JLabel lblOutUnit=new JLabel("输出单位");
private JLabel lblResult=new JLabel("显示结果");
private JLabel txtResult=new JLabel("结果");
private JComboBox cboOut=new JComboBox(new String[]{"", ""});
private JButton btnTrans = new JButton("转换");
private JButton btnClear = new JButton("清空");
private JRadioButton rdLeng = new JRadioButton("长度");
private JRadioButton rdWeig = new JRadioButton("时间");
private String [] lengthUnit={"米", "分米", "厘米", "毫米"};
private String [] timeUnit={"天", "时", "分", "秒"};
public UnitTransfer(){
super("简单的单位转换器 Beta");
this.setSize(WIDTH, HEIGHT);
this.setLayout(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ButtonGroup group = new ButtonGroup();
group.add(rdLeng);
group.add(rdWeig);
this.getContentPane().add(rdLeng);
this.getContentPane().add(rdWeig);
this.getContentPane().add(btnTrans);
this.getContentPane().add(btnClear);
this.getContentPane().add(lblIn);
this.getContentPane().add(txtIn);
this.getContentPane().add(lblInUnit);
this.getContentPane().add(cboIn);
this.getContentPane().add(lblResult);
this.getContentPane().add(txtResult);
this.getContentPane().add(lblOutUnit);
this.getContentPane().add(cboOut);
this.setVisible(true);
this.doLayout();
btnTrans.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
doConvert();
}
});
btnClear.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
txtIn.setText("0");
txtResult.setText("0");
}
});
rdLeng.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cboIn.setModel(new DefaultComboBoxModel(lengthUnit));
cboOut.setModel(new DefaultComboBoxModel(lengthUnit));
}
});
rdWeig.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cboIn.setModel(new DefaultComboBoxModel(timeUnit));
cboOut.setModel(new DefaultComboBoxModel(timeUnit));
}
});
rdLeng.setSelected(true);
cboIn.setModel(new DefaultComboBoxModel(lengthUnit));
cboOut.setModel(new DefaultComboBoxModel(timeUnit));
}
final int offX=100;
public void doLayout(){
super.doLayout();
rdLeng.setBounds(offX, 15, 60, 20);
rdWeig.setBounds(rdLeng.getX()+rdLeng.getWidth()+5, 15, 60, 20);
lblInUnit.setBounds(offX, rdLeng.getY()+rdLeng.getHeight()+20, 80, 20);
cboIn.setBounds(lblInUnit.getX()+lblInUnit.getWidth()+5, lblInUnit.getY(), 80, 20);
lblIn.setBounds(offX, lblInUnit.getY()+lblInUnit.getHeight()+5, 80, 20);
txtIn.setBounds(lblIn.getX()+lblIn.getWidth()+5, lblIn.getY(), 80, 20);
lblOutUnit.setBounds(offX, lblIn.getY()+lblIn.getHeight()+30, 80, 20);
cboOut.setBounds(lblOutUnit.getX()+lblOutUnit.getWidth()+5, lblOutUnit.getY(), 80, 20);
lblResult.setBounds(offX, cboOut.getY()+cboOut.getHeight()+5, 80, 20);
txtResult.setBounds(lblResult.getX()+lblResult.getWidth()+5, lblResult.getY(), 100, 20);
int w=getWidth ();
int x=(w-70*2-5)/2;//水平居中
btnTrans.setBounds(x, lblResult.getY()+lblResult.getHeight()+30, 70, 25);
btnClear.setBounds(btnTrans.getX()+btnTrans.getWidth()+3, btnTrans.getY(), 70, 25);
}
public void doConvert(){
double v=0;
try{
v= Double.parseDouble(txtIn.getText());
}catch(Exception ex){
txtIn.setText("0");
return;
}
//"米", "分米", "厘米", "毫米"
if(rdLeng.isSelected()){
switch(cboIn.getSelectedIndex()){
case 0:
break;
case 1:
v=v/10;
break;
case 2:
v=v/100;
break;
case 3:
v=v/1000;
break;
default:
return;
}
//v 现在是标准单位:米
switch(cboOut.getSelectedIndex()){
case 0:
break;
case 1:
v=v*10;
break;
case 2:
v=v*100;
break;
case 3:
v=v*1000;
break;
default:
return;
}
if(v0.01){
txtResult.setText(String.format("%2.8f", v));
}else{
txtResult.setText(String.format("%2.2f", v));
}
}else{
//"天", "时", "分", "秒"
switch(cboIn.getSelectedIndex()){
case 0:
v=v*24;
break;
case 1:
break;
case 2:
v=v/60;
break;
case 3:
v=v/3600;
break;
default:
return;
}
//v 现在是标准单位:小时
switch(cboOut.getSelectedIndex()){
case 0:
v=v/24;
break;
case 1:
break;
case 2:
v=v*60;
break;
case 3:
v=v*3600;
break;
default:
return;
}
if(v0.01){
txtResult.setText(String.format("%2.8f", v));
}else{
txtResult.setText(String.format("%2.8f", v));
}
}
}
public static void main(String[] args){
EventQueue.invokeLater(new Runnable() {
public void run() {
new UnitTransfer();
}
});
}
}
//请参考,欢迎指正
怎样将Java源代码转换成Java开应用程序
我试了一下,jbuilder生成的exe文件,在没有装jre的机器上不能运行,于是我就在该exe文件的同一位置提供一个jre目录,可是该exe文件不会去自动找这个jre,应该怎样做才能使exe文件找到这个jre,并运行起来呢?
先写一个bak,检查有没有jre,有的话就直接运行你的程序,没有的话,先安装再执行。
---------------------------------------------------------------
jbuilder有一个隐藏的技巧可以让你从可执行文件来启动java程序,(不出现console窗口我没有做到)。需要jbuilderx的bin目录下的这些文件:
jbuilder.exe
jbuilderw.exe (可选)
jbuilder.config
jdk.config
“jbuilder.exe”是一个通用的可执行外壳文件,用以启动java程序,“jbuilderw.exe”好像是javaw.exe一样,它把“jbuilder.exe”包装起来,但是运行时候不显示那个console的窗口。使用这些文件的关键是文件名。“jbuilder.exe”查找一个文件叫“jbuilder.config”的配置文件,里面包含了运行java程序的必须信息。同样的“jbuilderw.exe”查找“jbuilder.exe”来启动不带console窗口的java程序。如果把jbuilder.exe重命名为“foo.exe”,那“foo.exe”将去寻找“foo.config”配置文件,同样“jbuilderw.exe”被重命名为“foow.exe”,它会去寻找“foo.exe”文件。
说到这里,聪明的读者应该猜到怎样利用jbuilder.exe来启动应用程序了。只要把jbuilder.exe,jbuilerw.exe,jbuilder.config改名成相应的文件名,在jbuilder.config里面指定主类和类路径,就能够通过执行jbuilder.exe(或者被改名后的exe文件)来启动java应用程序了。
在\jbuilderx\bin\目录下,后把jbuilder.exe,jbuilder.config,jdk.config四个文件拷贝到某目录下,然后打开jbuilder.config文件,作相应的修改:
在jbuilder.config里面找到下面两行
# start jbuilder using the its main class
mainclass com.borland.jbuilder.jbuilder ----修改主类为自己希望的类
config里面可以识别的命令可以在jbuilder/bin目录下的config_readme.txt里面找到详细说明。
然后修改jdk.config里面的javapath相对的路径,例如原来是
javapath ../jdk1.3/bin/java ----修改主类为自己打包的jre路径(可以使相对路径,如./jre)
最后将jbuilder.exe,jbuilder.config修改成所需要的文件名,例如foo.exe和foo.config文件。
下面的小技巧可能更有趣,将jar文件打包进入exe文件!
将jar包附加到jbuilder.exe后面去,执行过程:
copy /b ..\jbuilder.exe+hello.jar foo.exe
一个含jar包的exe文件得到了!
这个过程的大致原理是:exe文件的重要信息都在文件头部,所以把乱七八糟的东西放exe文件尾部是不要紧的;而jar/zip文件的重要信息是在文件尾部的,这样它们两不相干,能够容易的被执行。
如何将以下c++代码转成Java代码?
1、C++如何接受Java的完全面向对象
JAVA是一种完全面向对象的语言。这意味着你对任何一个Java对象所做的动作都是通过一个方法实现的。
第一点就是,再也没有没有主函数这样的孤立的东西了。取而代之的是,你必须开始用一个对象的看法看待一个程序,一个类的对象。
但是这个对象又什么对象呢? 大多数Java程序只是简单的通过继承Java基础类Object来实现所需要的东西,但是你可以通过创建程序基础类用于多个特性相似的应用程序来节省时间。 严格的面向对象的规定意味着理用原有的C/C++代码不可以直接不加改动的使用;系统调用也是这样的。C++中,你可以通过在C++正常的命名空间外声明extern"C"来使用原有的C的过程调用,包括系统调用。
2、Java在虚拟机上运行
Java源代码并不是被编译成为普通的机器代码。而是被翻译成为虚拟机可以执行的代码。一个Java解释器最终执行这些代码。
这其中没有连接的过程;解释在需要的时候动态的加载一些类; 在Java中,只有一个类似的安全回溯的方法,但是并不是十分简单的方法。你必须定义一个本地方法,其目的是为C语言提供接口,然后提供连接的介质。Java环境提供了完成这种任务的工具,但是整个过程和C++中提供的extern比微不足道,完成使用C++类的过程则更加复杂,因为这样会引入对C的借口和C函数和C++成员函数的问题。
3、许多常用的系统实用工具函数已经在系统类中的方法中提供出来,但是这些明显没有包含经过许多年来你所创建的那些类和过程。
所以,在你需要的时候你应该去钻研一下。 也有一些软件,可以实现C#代码转换java工具 C#转java代码转换工具(C# to Java Converter)一个很强大的工具, 能将c#代码片段、文件甚至工程直接转换成java代码,并能彻底解决外部引用的DLL问题,最强的是支持c#工程的直接转换,生成的Java代码质量也很不错。
软件已破解,去除了未注册版最多只能转换1000行的限制,亲测可用!压缩包内含帮助文档,不过由于软件的使用很简单,帮助文档基本可以忽略。
当前名称:代码转换器java 代码转换器软件
文章源于:http://azwzsj.com/article/hgdioh.html