![](/img/trans.png)
[英]Match a string with comma-separated sub strings, ensuring no leading/trailing commas, with regex in Kotlin
[英]How to do calculations with numbers separated with commas?
我想用以千位(逗号)分隔的数字进行计算,结果也将以千位分隔(逗号)格式化。 示例:
var editText1 = **12,520.00**
var editText2 = **52,345.00**
var result = **64,825.00**
//
var editText1 = **12,520**
var editText2 = **52,345**
var result = **64,825.00**
=====================================
我只是尝试根据我将收到的值的千位分隔(逗号)来格式化结果。
//formats
decimalSymbols = DecimalFormatSymbols(Locale.US)
format="##,###.##"
decimal = DecimalFormat(format, decimalSymbols)
decimal.roundingMode = RoundingMode.CEILING
//Variables that will receive the values
val prov = profit.text.toString().toDouble()
val cust = costs.text.toString().toDouble()
val amort = amortizacoes.text.toString().toDouble()
val jur = interest.text.toString().toDouble()
//Formatting the result in BigDecimal
result val = (prov - cost - amort - jur) * 0.32
val parsed = BigDecimal(result)
val formatResult = decimal.format(parsed)
tax.setText(formatResult.toString())
只需从字符串值中删除所有逗号:
value= value.replace(",", "")
做你的计算
最后,您可以使用format
来装饰并用逗号显示它们,其中:
"%,d".format(value)
使用 JVM 和 Kotlin v1.8.0 进行测试。
这是游乐场链接: https://pl.kotl.in/pXpev-dei
代码片段,粘贴在这里:
fun main() {
var editText1 = "12,520.00";
var editText2 = "52,345.00";
// var result = **64,825.00**
editText1 = editText1.replace(",","");
editText2 = editText2.replace(",","");
var resDouble = editText1.toDouble() * editText2.toDouble();
val res = "%,f".format(resDouble)
println(res)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.