首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复数函数,用于在逗号后删除不同的小数位。

复数函数,用于在逗号后删除不同的小数位。
EN

Stack Overflow用户
提问于 2022-05-23 14:03:04
回答 1查看 61关注 0票数 0

该程序的输入数据是具有BigDecimal值的JSON,如下例所示: 345.0197我有两个问题:

一些字段必须在comma:

  • 3数字后显示不同的数字数,如: 345.019
  • 2位数字,例如: 345.01
  • 1位数字,如:逗号前的整数必须大于逗号后的小数。就像在这张图片上:

我需要Java或Kotlin中的函数,它可以根据逗号(3、2或1)后所需的数字数以及这个与整数分离的十进制数返回十进制切分,以便在最终结果中应用不同的布局样式。

做这件事最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-23 14:52:04

也许是这样的?

代码语言:javascript
复制
var decimal_places = 3

val value = 745.49.toBigDecimal()

val part_a = value.toBigInteger()
val part_b = value.subtract(BigDecimal(part_a)).toString().drop(2).take(decimal_places)

或者一种更数学的方法:

代码语言:javascript
复制
    val part_a = value.toBigInteger()
    val part_b = (value.subtract(BigDecimal(part_a)).toDouble() * Math.pow(10.toDouble(), decimal_places.toDouble())).toInt()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72349904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档