【发布时间】:2015-06-20 21:57:10
【问题描述】:
我正在制作一个随机文件生成器,它会生成一个带有随机笛卡尔点的 txt 问题是:当我将 String.format 用于数字(比如说 4.3)时,我得到“4,3”。但是我不想要逗号,我什至不知道它为什么会变成逗号,完全没有用...... 代码:
FileWriter fileWriter = new FileWriter(new File("txt.txt"));
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
Random generator = new Random();
int nPoints = generator.nextInt(10)+10;
bufferedWriter.write(""+nPoints);
for (int n=0; n<nPoints; n++){
bufferedWriter.newLine();
String x = String.format("%.1f", generator.nextDouble()*100-50);
String y = String.format("%.1f", generator.nextDouble()*100-50);
bufferedWriter.write(x + " " + y);
}
bufferedWriter.close();
我已经使用 replace(",", ".") 解决了这个问题,但我觉得这不是一个好的解决方案,我想知道是否有任何理由在格式方法中使用逗号。
【问题讨论】:
-
你用的是什么本地的?
-
Locale.getDefault()在您的系统上返回什么? -
@MadProgrammer
The Anglesey Arms- 为什么这很重要? -
您可以使用
NumberFormat.getNumberInstance(Locale)更改值的格式... -
签出这个...本地依赖stackoverflow.com/a/7070368/2624806