sql - Delphi中不同区域设置不同格式的Float

标签 sql delphi floating-point format

我想使用 BDE Paradox 在 Delphi 中插入 SQL 语句

value_a := 0,123;
value_b := 0,234;
value_c := 0,345;
insert into mst_value values (value_a, value_b, value_c);

调试后显示“无效的SQL参数”之类的错误,它显示sql完整语法如下

insert into mst_value values (0,123, 0,234, 0,345) 

这应该是小数点中的点,但逗号,所以我使用 formatfloat('#.###, value_a), ...` 对其进行格式化,更改后它仍然使用逗号控制面板上的区域设置为英语,SQL参数是正确的,这是因为那里的货币或数字格式就像123,123,123.00,所以,我如何格式化十进制数字,但来自另一个国家(例如印度尼西亚)的格式如123,123,123,123.00不可以123.123.123,00。谢谢之前...

最佳答案

尝试这样,在调用formatFloat函数之前,你 可以为Delphi的变量ThousandsSeparator设置合适的值和 DecimalSeparator :

FormatFloat( "$##.000", value_a );

关于sql - Delphi中不同区域设置不同格式的Float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11482850/

相关文章:

delphi - 了解共享内存

c - C 中不同的浮点变量给出不同的大小

sql - 查找 PostgreSQL 中日期的中位数

sql-server - 为什么 sql 中的日期比较不起作用。请帮忙

c# - 如何将SQL参数中的字符串数组传递给SQL中的IN子句

sql - 使用 3 个不同的索引选择一系列行

delphi - ShowMessage隐藏

delphi - 全屏启动时应用程序停留在任务栏后面

javascript - 为什么我在 Javascript 中计算这个方程时会丢失小数点?

c - 在 C 中将浮点值缩放为 (0-100) 的函数