kotlin - 在 Kotlin 中将 NumberFormat 转换为数字
问题描述
我真的很想知道如何制作这个的逆过程
fun makeAFormattedString(currencyCode: String, numberToConvert: Float): String{
val format: NumberFormat = NumberFormat.getCurrencyInstance()
format.maximumFractionDigits = 2
format.currency = Currency.getInstance(currencyCode)
return format.format(numberToConvert)
}
当我输入: ("MXN",3000) 我的结果是
“MX $3000.00”
我想知道如何用这个字符串获取数字( 3000 )
“MX $3000.00”
解决方案
"MX $3000.00".takeLastWhile { it != '$' }
是许多方法之一。
val result = "[^\\d]+?(\\d+\\.?\\d*)".toRegex().find("MX $3000.00")
result?.groupValues?.last()
也可以。
问题是无法判断您是从 aInt
还是 a开始的Float
。如果您从 开始3000
,它的格式为3000.00
,如果您从 开始3000.45
,它的格式为3000.45
。结果将是 a Float
,您可以选择如何处理它。
推荐阅读
- node.js - 如何为数组内的数组保存/更新/提取信息?
- python - 使用 PyTorch 从头开始的线性分类器问题
- android - 约束布局 2.0.1 constraintDimensionRatio Buggy
- c# - 透明状态栏隐藏了我的导航菜单
- language-agnostic - 产生无法满足的测试问题
- xml - Powershell 5.1:无法使用 Get-Unique 对提取的 XML 属性名称进行排序
- javascript - NodeJS - 如何获得 URL 的响应?
- apache-spark - 如何将 pyspark 应用程序与要使用 spark-submit 提交的 java 依赖项捆绑在一起
- server - 新安装的 pivpn (wireguard) 连接的客户端没有互联网
- jquery - Oracle apex 如何从复选框中获取值并将其插入特定表