Java:将浮点十进制数转换为整数的幂

时间:2014-03-13 13:54:40

标签: java decimal point

所以我有以下号码

3.454545E5

注意" E"表明

的力量的字母

有没有办法将这个数字转换为

3454545

6 个答案:

答案 0 :(得分:4)

double d = 3.454545E5;
int i = (int) d;

输出:345454。

如果你想要完全3454545:

int i = (int) (d*10);

答案 1 :(得分:2)

您可以使用DecimalFormat以任何方式格式化数字。

如果是字符串,首先将其解析为double。

答案 2 :(得分:2)

double yourNumber = 3.454545E5;
String output = String.format("%d", yourNumber);

答案 3 :(得分:1)

试试这个

long l = (long) 3.454545E5;

答案 4 :(得分:0)

你能尝试这样做吗?

    double num = 3.454545E5;
    int num1 = (int)num;

    System.out.println(num1);

结果如下 -     345454

答案 5 :(得分:0)

不确定我是否理解正确,但看起来你有兴趣从数字中提取尾数并删除指数

这应该适合你:

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