我想换掉“。”通过字符串/双精度中的",“我想写到一个文件中。
使用以下Java代码
double myDouble = myObject.getDoubleMethod(); // returns 38.1882352941176
System.out.println(myDouble);
String myDoubleString = "" + myDouble;
System.out.println(myDoubleString);
myDoubleString.replace(".", ",");
System.out.println(myDoubleString);
myDoubleString.replace('.', ',');
System.out.println(myDoubleString);
我得到了以下输出
38.1882352941176
38.1882352941176
38.1882352941176
38.1882352941176
为什么replace没有做它应该做的事情呢?我希望最后两行包含一个",“。
我还需要做/使用其他事情吗?有什么建议吗?
发布于 2009-07-22 17:30:50
您需要将新值重新赋值给变量。
double myDouble = myObject.getDoubleMethod(); // returns 38.1882352941176
System.out.println(myDouble);
String myDoubleString = "" + myDouble;
System.out.println(myDoubleString);
myDoubleString = myDoubleString.replace(".", ",");
System.out.println(myDoubleString);
myDoubleString = myDoubleString.replace('.', ',');
System.out.println(myDoubleString);
发布于 2009-07-22 17:31:35
原始字符串未被修改。该调用返回修改后的字符串,因此您需要执行以下操作:
String modded = myDoubleString.replace(".",",");
System.out.println( modded );
发布于 2009-07-22 19:46:33
更大的问题是为什么不使用DecimalFormat
而不是字符串替换呢?
https://stackoverflow.com/questions/1166905
复制相似问题