繁体   English   中英

如何用逗号分隔的数字进行计算?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM