Java:将浮点十进制数转换为到整数的幂
所以我有下面的号码Java:将浮点十进制数转换为到整数的幂,java,decimal,point,Java,Decimal,Point,所以我有下面的号码 3.454545E5 注意“E”字母,它表示 有没有办法把这个数字转换成数字 3454545 ?您可以使用DecimalFormat以任何方式格式化数字 如果它是一个字符串,首先将其解析为double。试试这个 double yourNumber = 3.454545E5; String output = String.format("%d", yourNumber); long l = (long) 3.454545E5; 你能试试吗 double num
3.454545E5
注意“E”字母,它表示
有没有办法把这个数字转换成数字
3454545
?您可以使用DecimalFormat以任何方式格式化数字 如果它是一个字符串,首先将其解析为double。试试这个
double yourNumber = 3.454545E5;
String output = String.format("%d", yourNumber);
long l = (long) 3.454545E5;
你能试试吗
double num = 3.454545E5;
int num1 = (int)num;
System.out.println(num1);
以下是结果-
345454
double d = 3.454545E5;
int i = (int) d;
产出:345454
如果您想要3454545:
int i = (int) (d*10);
不确定我是否理解正确,但看起来你对从数字中提取尾数并删除指数感兴趣 这应该适合您:
double number = 3.454545E5;
int exponent = (int)Math.log10(Math.abs(number)); // exponent = 5
double mantissa = number / Math.pow(10, exponent); // mantisa = 3.454545
要获得您的数字,您可以将尾数相乘,在您的特定示例中:
int result = (int)(mantissa * 1000000)
//result = 3454545
你的意思是你在解析字符串?我不明白这个问题,你只是想从字符串数字中删除小数点和E5吗?或者E代表科学符号,在这种情况下,数字不是吗345454@j.con是的,我想从数字中去掉小数点和E5。那么,无论谁投了反对票,他们能解释原因吗?如果原因是重复的答案,你应该记住所有答案都是在2-3分钟内公布的,所以回答的人不知道其他人是否回答相同的答案。