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分钟内公布的,所以回答的人不知道其他人是否回答相同的答案。