将浮点数转换为非浮点字符串

时间:2014-11-10 10:37:41

标签: java floating-point

我有以下号码:

1.0645208E10,在我的情况下是双倍值。我想将其转换为106.45

有关如何获取106.45的任何建议吗?

感谢您的回答!

2 个答案:

答案 0 :(得分:3)

你可以试试这个:

    double bigDouble = 1.0645208E10;
    String strDouble = String.format(Locale.ENGLISH, "%.2f", bigDouble/100000000);
    System.out.println(strDouble);

它会给你106.45

但要注意输出与原始值无关的事实!!是小一亿......

答案 1 :(得分:1)

  

任何建议如何获得106.45?

如果您只想获得输出,那么您可以执行以下操作。

Double d = 1.0645208E10;
String s = d.toString().replace(".", "");//Converts into string and removes dot (.)
String s1 = s.substring(0, 5);//it gets only first 5 characters 
String s2 = s1.substring(0, 3) + "." + s1.substring(3, 5);//it adds decimal point after first 3 character
System.out.println("Expected Output: " + s2);