如何在 TCL 中格式化数字字符串
How to format a number string in TCL
您好,我有一个数字字符串,输出为 4 位数字,即。 2850 我想让这个数字显示为 2.8。我尝试了各种 %.1f 等这是我目前所拥有的
set number 2850
puts [format "%01.1f" $number]
输出错误为 2.0 能否请您指出正确的方向。
感谢 Schelte Bron 的回复,能否将格式和表达式合并到一行代码中?
set number 2850
set number1 [expr {double($number) / 1000}]
set number2 [format "%01.1f" $number1]
puts "$number2
所以我们会得到类似
的东西
set number 2850
set number1 [expr {double($size) / 1000} -format "%01.1f $number]
puts $number1
提前致谢
您可以在一行代码中完成,但 format
和 expr
的职责保持不变:
set number2 [format "%01.1f" [expr {$number / 1000.0}]]
假设您的意思是将 2850 除以 1000,则不清楚您是真的要四舍五入为 2.9,还是要四舍五入为 2.8。使用 format 会将其四舍五入为 2.9,例如
set number [expr {2850 / 1000.0}]
puts [format "%.1f" $number]
使用 floor 会将其四舍五入为 2.8,例如
set number [expr {2850 / 100.0}]
puts [expr {floor($number) /10.0} ]
您好,我有一个数字字符串,输出为 4 位数字,即。 2850 我想让这个数字显示为 2.8。我尝试了各种 %.1f 等这是我目前所拥有的
set number 2850
puts [format "%01.1f" $number]
输出错误为 2.0 能否请您指出正确的方向。
感谢 Schelte Bron 的回复,能否将格式和表达式合并到一行代码中?
set number 2850
set number1 [expr {double($number) / 1000}]
set number2 [format "%01.1f" $number1]
puts "$number2
所以我们会得到类似
的东西set number 2850
set number1 [expr {double($size) / 1000} -format "%01.1f $number]
puts $number1
提前致谢
您可以在一行代码中完成,但 format
和 expr
的职责保持不变:
set number2 [format "%01.1f" [expr {$number / 1000.0}]]
假设您的意思是将 2850 除以 1000,则不清楚您是真的要四舍五入为 2.9,还是要四舍五入为 2.8。使用 format 会将其四舍五入为 2.9,例如
set number [expr {2850 / 1000.0}]
puts [format "%.1f" $number]
使用 floor 会将其四舍五入为 2.8,例如
set number [expr {2850 / 100.0}]
puts [expr {floor($number) /10.0} ]