给定一个语言环境java.text.NumberFormat:
NumberFormat numberFormat = NumberFormat.getInstance();
如何获得该数字格式中用作十进制分隔符的字符(如果是逗号或点)?如何在不必使用新的DecimalFormat(format)的情况下修改此属性?
谢谢
您正在寻找帮助器类DecimalFomatSymbols:
DecimalFormat format = (DecimalFormat) DecimalFormat.getInstance();
DecimalFormatSymbols symbols = format.getDecimalFormatSymbols();
char sep=symbols.getDecimalSeparator();
要根据需要设置符号:
//create a new instance
DecimalFormatSymbols custom=new DecimalFormatSymbols();
custom.setDecimalSeparator(',');
format.setDecimalFormatSymbols(custom);
编辑:
此答案仅对有效DecimalFormat
,而NumberFormat
对问题所要求的无效。无论如何,因为这可能会对作者有所帮助,所以我在这里允许它。
问题内容: 我目前使用以下代码打印双精度代码: 除Java在我想使用点时使用Java语言环境的小数点分隔符(逗号)外,此方法运行良好。是否有捷径可寻? 问题答案: 使用其中的重载可以指定语言环境: 如果您 仅 格式化数字(如此处所示),则使用可能更合适。但是,如果您需要其余的格式化功能,则应该可以正常工作。
问题内容: 是否可以从“。”更改小数逗号。(点)到MySQL输出中的其他字符(逗号)?我不想使用像这样的函数,我只想使用我通常使用的所有查询,而无需进行任何修改。我正在寻找(一些变量,语言环境等)设置。我试图搜索手册,但没有成功。 问题答案: 不,你不能。这就是SQL标准,而MySQL遵循它(至少在这一点上)。 问题并不是输出的真正问题(如您所提到的,大多数DBMS中都有各种功能),而是输出。如果
问题内容: 我正在使用导入以下的CSV文件: CSV文件示例: 问题是,当我稍后在代码中尝试使用这些值时,出现此错误: 错误是因为我要使用的数字不是用点()作为小数点分隔符而是用逗号()书写。手动将逗号更改为点后,我的程序可以工作。 我无法更改输入格式,因此必须替换DataFrame中的逗号才能使代码正常工作,我希望python无需手动执行此操作。你有什么建议吗? 问题答案: 为此有一个参数:do
问题内容: 我有一个疯狂的方法,可以将BigDecimal值转换为漂亮且可读的字符串。 但是,它还会产生一个所谓的分组分隔符,使我的所有值都这样显示: 我确实需要分隔符是点或点而不是逗号。有人知道如何完成这个小壮举吗? 我已阅读本,尤其是这种死亡,但现在我无法找到一个方法来完成这件事。我是否以错误的方式处理?有更优雅的方法吗?甚至可能是一个解决方案,说明了不同的本地号码表示形式,因为按照欧洲标准,
我在做一个计算器应用程序,我用十进制格式来格式化我的数字。我的问题是我想让它显示像0,003这样的数字。但是逗号后面的2零直到我输入3才显示出来。请帮我修复这里的代码 添加“0”的代码
java.text.NumberFormat类用于根据特定的Locale格式化数字和货币。 数字格式因国家/地区而异。 例如,在丹麦,使用逗号将数字的分数与整数部分分开,而在英格兰,它们使用点作为分隔符。 示例 - 格式编号 在此示例中,我们根据美国语言环境和丹麦语区域设置格式化数字。 IOTester.java import java.text.NumberFormat; import java