Delphi中如何保留小数点后2位?
我从数据库表中选择了列,并且希望该数据仅包含两位小数。我有:
SQL.Strings = ('select '#9'my_index '#9'his_index,'...
#9
是什么?- 如何处理我选择的数据,使其只保留两位小数?
我对德尔福很陌生。
I have selected columns from a database table and want this data with two decimal places only. I have:
SQL.Strings = ('select '#9'my_index '#9'his_index,'...
- What is that
#9
? - How can I deal with the data I selected to make it only keep two decimal places?
I am very new to Delphi.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
#9
是制表符。如果
f
是浮点变量,您可以执行FormatFloat('#.##', f)
来获取f
的字符串表示形式> 不超过 2 位小数。#9
is the tab character.If
f
is a floating-point variable, you can doFormatFloat('#.##', f)
to obtain a string representation off
with no more than 2 decimals.对于 Float 到 Float(例如,小数点后两位)四舍五入检查 this< /a> 来自文档。也给出了足够的例子。它使用银行家四舍五入。
请注意,简单截断到小数点后两位(如 Format() 中)、四舍五入到整数和四舍五入到浮点数之间存在差异。
For Float to Float (with 2 decimal places, say) rounding check this from documentation. Gives sufficient examples too. It uses banker's rounding.
Note that there is a difference between simply truncating to two decimal places (like in Format()), rounding to integer, and rounding to float.
如今,SysUtils 单元包含解决方案:
如果所需的小数点/千位分隔符与当前系统区域设置不同,您可以传递 +1 TFormatSettings 参数。
Nowadays the SysUtils unit contains the solution:
You can pass +1 TFormatSettings parameter if the requiered decimal/thousand separator differ from the current system locale settings.
内部浮点格式例程仅适用于简单数字 > 1
您需要为通用小数位限制器做一些更复杂的事情,使其在定点和值 << 上都能正常工作。 1 用科学记数法表示。
我使用这个例程
所以,当数字=2时,1.2349舍入为1.23,1.2349E-17舍入为1.23E-17
The internal float format routines only work with simple numbers > 1
You need to do something more complicated for a general purpose decimal place limiter that works correctly on both fixed point and values < 1 with scientific notation.
I use this routine
So, with digits=2, 1.2349 rounds to 1.23 and 1.2349E-17 rounds to 1.23E-17
这对我有用:
This worked for me :
对于分隔符后面的 N 个地方使用
For N Places behind the seperator use
#9
是代码为 9、TAB 的字符。如果您想将浮点值转换为具有 2 位小数的字符串,您可以使用格式化函数之一,例如
Format()
:#9
is the character with code 9, TAB.If you want to convert a floating point value to a string with 2 decimal places you use one of the formatting functions, e.g.
Format()
: