java - 如何在java中验证货币字符串

标签 java currency currency-formatting

假设我有一个德语格式的货币字符串:

String money="1.203.432,25";

我想检查金钱是否是有效的货币值(value)。 “0,00”有效,“134.20,24”无效,“02,23”无效等等。我怎样才能用Java做到这一点?

最佳答案

使用本地化的数字格式(如果始终采用德语格式,则使用正则表达式)。

正则表达式可能类似于 ^(?:0|[1-9][0-9]{0,2}(?:\.[0-9]{3})*),[0-9]{2}$ ,与 ^$使用 String#matches() 时不需要或Matcher#matches() .

数字格式可以是 DecimalFormat喜欢 ###,##0.00或者只是使用NumberFormat.getInstance( Locale.GERMAN ) 。然而,数字格式的问题在于它允许数字有前导零,因此如果您想禁止这些数字,您可以检查第一个数字是否为零。

关于java - 如何在java中验证货币字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32888014/

相关文章:

java - 根据动态货币值动态更改区域设置

java - 如何在java中按元素数量对2D字符串数组进行排序

java - Android 应用程序在 System.exit(0) 上重启;

python - Django:我应该如何存储货币值(value)?

javascript - 如何在 JavaScript 中使用 localeString 获取货币代码和金额之间的空格?

c++ - 在 C++ 中存储货币值的最佳方式

java - 为什么我的 for 循环执行时间没有改变?

java - 组件扫描未找到@Repository

php - 比较 PHP 的 NumberFormatter::formatCurrency 结果

python - 将货币对象更改为小数。使用小数实例