日期:2014-05-20  浏览次数:20779 次

199.999如何转化成199,9
首先把199.999保留一位有效数字:199.9
然后再把199.9转化成欧洲一些国家的表示方法:199,9(这里的逗号是小数位)

谢谢各位了!

------解决方案--------------------
Java code

double d = 199.999;        
        String s = String.valueOf(d);
        int index = s.indexOf(".");
        String s1 = s.substring(0, index + 2).replace(".", ",");
        System.out.println(s1);

------解决方案--------------------
for example
Java code
double d = 199.999;
String s = String.valueOf(d).replaceAll("(\\d+)[.](\\d)\\d+", "$1,$2");
System.out.println(s);

------解决方案--------------------
正解1111111111111
------解决方案--------------------
[color='red']11[/color ]
------解决方案--------------------
探讨

for example
Java code
double d = 199.999;
String s = String.valueOf(d).replaceAll("(\\d+)[.](\\d)\\d+", "$1,$2");
System.out.println(s);

------解决方案--------------------
double d = 199.999;
String s = String.valueOf(d);
int index = s.indexOf(".");
String s1 = s.substring(0, index + 2).replace(".", ",");
System.out.println(s1);

------解决方案--------------------
一般来说,减少小数位数,是要四舍五入的吧

1. *10
2. 四舍五入转int
3. 转字符串
4. 倒数第二位那里插入一个,分隔符
------解决方案--------------------
很明显,使用德国风俗就行了。
Java code
import java.util.*;
public class Test {
    public static void main(String args[]) {
       Locale de = new Locale("de","DE");//使用德国风俗。
       Locale old = Locale.getDefault();
       Locale.setDefault(de);
       System.out.printf("Germany locale %.1f", 19.999-0.05);//java是四舍五入的,我没找到开关所以用个小技巧就能保证是舍去。
       Locale.setDefault(old);
       System.out.println();
       System.out.printf("China locale %.1f", 19.999-0.05);//同上
 
    }
}

------解决方案--------------------

+1
探讨

很明显,使用德国风俗就行了。
Java code
import java.util.*;
public class Test {
public static void main(String args[]) {
Locale de = new Locale("de","DE");//使用德国风俗。
Locale old = Locale.getDefaul……

------解决方案--------------------
+1这种正则表达式好。
探讨
for example

Java code
double d = 199.999;
String s = String.valueOf(d).replaceAll("(\\d+)[.](\\d)\\d+", "$1,$2");
System.out.println(s);

------解决方案--------------------
首先部分:
float scale = 34.236323; 
DecimalFormat fnum = new DecimalFormat("##0.0"); 
String dd=fnum.format(scale); 
System.out.println(dd); 
然后部分:replace(".",",")