从字符串中创建具有两位小数的 Double [重复]
Posted
技术标签:
【中文标题】从字符串中创建具有两位小数的 Double [重复]【英文标题】:Create a Double with two decimals from a String [duplicate] 【发布时间】:2014-12-25 04:59:59 【问题描述】:我需要从一个字符串中创建一个带有两位小数的 Double - 换句话说,我需要将“100”变成 100.00。 令人惊讶的是:
double d = Double.valueOf("500");
DecimalFormat df = new DecimalFormat("#.00");
System.out.print(df.format(d));
打印出来:
500,00
我需要“500.00”。我该如何解决? 谢谢
【问题讨论】:
这取决于你的 JVM 语言环境。 研究使用 printf 格式化输出 导入 java.text.DecimalFormat;导入 java.text.NumberFormat;导入 java.util.Locale;公共类 Main public static void main(String[] args) NumberFormat nf = NumberFormat.getNumberInstance(Locale.ENGLISH);十进制格式 df = (十进制格式)nf; df.applyPattern("#.00");双 d = Double.valueOf("500"); System.out.print(df.format(d)); 【参考方案1】:您可以通过设置区域设置或使用 DecimalFormatSymbols 来更改分隔符。
如果您希望分组分隔符是一个点,您可以使用欧洲语言环境:
NumberFormat nf = NumberFormat.getNumberInstance(Locale.GERMAN);
DecimalFormat df = (DecimalFormat)nf;
或者,您可以使用 DecimalFormatSymbols 类来更改出现在由 format 方法生成的格式化数字中的符号。这些符号包括小数分隔符、分组分隔符、减号和百分号等:
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(currentLocale);
otherSymbols.setDecimalSeparator(',');
otherSymbols.setGroupingSeparator('.');
DecimalFormat df = new DecimalFormat(formatString, otherSymbols);
此外,您可能会发现这很有用:http://tutorials.jenkov.com/java-internationalization/decimalformat.html 以非常简单和优美的方式解释了与您的问题相关的几乎所有内容。
【讨论】:
谢谢,我已经在建议的副本中找到了它,但是您的回答是正确的。 是的,我提供了它以供您快速参考以防您错过,但我建议您查看教程链接。对我来说看起来不错。美好的一天。以上是关于从字符串中创建具有两位小数的 Double [重复]的主要内容,如果未能解决你的问题,请参考以下文章
java海中信真实面试_手写map键值对写入值和取值HashMap字符串转double格式化double保留两位小数字符串转成日期格式css内边距外边距垂直对齐垮单元格