我正在使用 Java 开发项目,并且价格以微单位为单位。
微单位价格是指 1,000,000 微单位等于 1 个货币单位的价格。例如,如果价格为“€7.99”,则price_amount_micros 为“7990000”
我需要将 7 和 99 提取为单独的字符串。阅读了一些有关舍入错误的帖子后,我认为实现我需要的正确方法是将给定金额转换为字符串并使用以下正则表达式提取单位和子单位部分:
^(\d+)(\d{2})0000$
但是,出于某种原因,我觉得这不是一种优雅的方式。
最佳答案
您可以将其细化为:
^(\d+)(\d{2})0{4}$
但恕我直言,你就完成了。
我在数据库中将所有价格处理为 INT。 7.99 就是 799。 没有舍入误差。
关于java - 如何从以微单位表示的给定金额中提取单位和子单位部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45188361/