Scala 四舍五入到小数指定位数 不足位填0
四舍五入 保留到个位
val d1 = 1.4
println(d1.round)
val d2 = 1.5
println(d2.round)
- 运行结果
1
2
四舍五入 保留到小数后N位
基于其保留到个位数的特点,若要保留小数后N位,则需要先将数进行放大,四舍五入后再缩小即可实现,放大缩小倍数为10的N次方。如下所示
注意:在最后是除了一个浮点数,如“100.0”,因为四舍五入后的数为整数型,直接除整数其结果会舍去小数部分(结果为整数型),故需除一个浮点数
- 保留小数后2位
val d1 = 1.602
val t1 = d1 * 100
println(t1.round / 100.0)
val d2 = 1.607
val t2 = d2 * 100
println(t2.round / 100.0)
- 运行结果
1.6
1.61
四舍五入 保留到小数后N位 不足位填0
上面的我们实现的指定小数位数的四舍五入,但第一个数据被四舍五入后,小数第二位未被填0,因此我们在下面将实现不足位数填0(返回值为String)
// 初始值
val d = 1.602
// 四舍五入保留小数后两位并将其转换为字符型
var r = ((d * 100).round / 100.0).toString
// 使用split函数正则表达式匹配“.”,以点号分割后,提取其小数部分,存入变量t
var t = r.split("\\.")(1)
// 小数部分位数小于阈值的,在其小数位添加“0”
while(t.length < 2){
t = "0"
r = "0"
}
println(r)
- 运行结果
1.60
split说明
根据给定正则表达式的匹配拆分此字符串
String[] split(String regex)
根据匹配给定的正则表达式来拆分此字符串
String[] split(String regex, int limit)
参考文献
1.4.1 scala 浮点数四舍五入 https://www.fashici.com/tech/271.html
Scala 字符串 https://www.runoob.com/scala/scala-strings.html
正则表达式 — 转义 “ \ “ ,特殊字符注意事项(七) https://blog.csdn.net/m0_52409770/article/details/123514539
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgacikb
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01