java - 在不知道这种格式是什么的情况下,快速转换为 double 十进制格式字符串的方法

标签 java kotlin

我有 kotlin 语言的代码:

val stringDecimalvalue = ... // can come as '#,###.##' or '#.###,##' and the two are valid

我想用这个String创建一个Double

var monetaryValue = Double(stringDecimalvalue)

如果值采用 #,###.## 格式,则会引发 NumberFormatException,那么我需要在格式化之前知道此模式。

有一种方法可以让我不需要滚动整个字符串或应用带有 match 的正则表达式? (或者可能是一个简单的正则表达式方法)

谢谢!

最佳答案

对我来说最简单的方法似乎是找到 . 的最后一次出现,并删除 . 的所有出现。 在此之前,那么您应该能够使用 Double::parseString

关于java - 在不知道这种格式是什么的情况下,快速转换为 double 十进制格式字符串的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55403691/

相关文章:

java - 在事务中间刷新 session

kotlin - EnumClass.values() 在 Kotlin 中如何工作?

kotlin - 库模式中的Kotlin Flow

java - 如何为Kotlin扩展功能的接收者添加KDoc注释(Java中的第一个参数,Kotlin中的 `this`)

java - 可以采取哪些步骤来优化 tibco JMS 以提高性能?

java - LibGDX ScrollPane 显示黑屏

java - 有没有办法更改 JOptionPane 布局,例如顶部的颜色和左上角的图像?

android - 启动画面和崩溃后应用程序未打开下一个 Activity

android - "Can' t 设置设备 - 无法 't install the admin app"- 设备所有者应用程序的 QR 码配置时出错

java - 与 Kafka 消费者匹配的扩展模式