使用随机逗号或点分隔符从文件中解析双精度
Posted
技术标签:
【中文标题】使用随机逗号或点分隔符从文件中解析双精度【英文标题】:parse double from file with random comma or dot separator 【发布时间】:2014-07-28 15:00:53 【问题描述】:我需要解析一个包含带有随机分隔符(点或逗号)的数字的文件
使用这个:Double.parseDouble(scanner.next().trim());
我得到一个 NumberFormatException
如何避免?
【问题讨论】:
用点替换逗号,然后解析。 java.lang.String 有一个 javadoc,它告诉你如何替换字符。 我无法编辑文件 文件长什么样? 示例:123.15 126,69988 12648.65 156,155 157,665 如果无法编辑文件,可以读入文件中的一串字符,将逗号替换为点,然后解析为双精度 【参考方案1】:Double.parseDouble(scanner.next().trim().replace(',','.'));
在尝试解析之前将字符串中的逗号替换为句点。
【讨论】:
【参考方案2】:如果您想将逗号/点分隔的字符串视为不同的双变量,我认为这就是您所需要的。
try
Scanner scanner = new Scanner(file);
scanner.useDelimiter("[\\.,\\ ]");
while (scanner.hasNext())
double d = Double.parseDouble(scanner.next().trim());
System.out.println(d);
scanner.close();
catch (FileNotFoundException e)
e.printStackTrace();
HTH, 凯沙瓦。
【讨论】:
以上是关于使用随机逗号或点分隔符从文件中解析双精度的主要内容,如果未能解决你的问题,请参考以下文章
将带逗号的双引号作为分隔符从 S3 导入 Amazon Redshift
如何格式化数据库中的双精度数据并在 Android 上使用逗号作为小数分隔符设置到 Textview