for (int j=0;j<i;j++) { num1=num1*10; } System.out.println((long)num1); }}
老大,就算我问的不清楚你也不能出口成脏啊,这样多掉您老的身价啊,骂人的事就留给那些泼妇做好了我这个String 类型是从数据库中取出,是一个人的工资 小数点后面带4位 例: 1233.2100 ->123321; 1233 ->123300... 我需要的是精确到分,也就是小数后面留2位,然后去掉小数点因为我需要输出到TXT文件,所以要格式化输出,这个我已经解决,方法代码贴出给大家指点:我每行固定30个字节,width 是余下的宽度 public String pad(String r,int width) { String p = repeat(' ', width - r.length()); return p+r; } private String repeat(char c, int n) { if (n <= 0) return ""; StringBuffer s = new StringBuffer(n); for (int i = 0; i < n; i++) s.append(c); return s.toString(); }
谢谢 kkcncry ,已经有思路,结贴
java.text.DecimalFormat numberFormater = new java.text.DecimalFormat("#########.00"); java.math.BigDecimal bd = new java.math.BigDecimal(numberFormater.format(value));之后再自己琢磨琢磨吧,sorry哈
import javax.swing.*;
class addAB {
public static void main(String[] args)throws Exception{
int pointPosition=0;//记录小数点位置
double num1=0;//将字符串转成整数
int i;//记录要循环的次数乘以10的次数
String dg="34.64";
pointPosition=dg.indexOf(".");
num1=Double.parseDouble(dg);
i=dg.length() - pointPosition-1;//算出乘10的次数
for (int j=0;j<i;j++)
{
num1=num1*10;
}
System.out.println((long)num1);
}}
例: 1233.2100 ->123321; 1233 ->123300...
我需要的是精确到分,也就是小数后面留2位,然后去掉小数点因为我需要输出到TXT文件,所以要格式化输出,这个我已经解决,方法代码贴出给大家指点:我每行固定30个字节,width 是余下的宽度 public String pad(String r,int width)
{
String p = repeat(' ', width - r.length());
return p+r;
}
private String repeat(char c, int n)
{
if (n <= 0) return "";
StringBuffer s = new StringBuffer(n);
for (int i = 0; i < n; i++) s.append(c);
return s.toString();
}
java.math.BigDecimal bd = new java.math.BigDecimal(numberFormater.format(value));之后再自己琢磨琢磨吧,sorry哈