delphi中调用floattostr,国外为何小数点变成了逗号?

fisher_older 2010-02-03 10:12:12
例如:
f:=1.23
str:=floattostr(f);
结果str输出为1,23

当然在国内显示的是1.23,但是在美国显示的是1,23
可能国外默认的是以逗号为分隔符吧?我也要将它显示为小数点该怎么办?
...全文
531 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangheguyun 2010-02-05
  • 打赏
  • 举报
回复
自定义一下。或者用FORMAT函数。
fisher_older 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 brightyang 的回复:]
引用 5 楼 starluck 的回复:
引用 4 楼 fisher_older 的回复:
这个怎么说呢?比方说我编程是按小数点设置的,但是生成了exe文件在美国那边运行的话,他的计算机设置应该还是他默认的,所以他那边还是显示逗号吧?这该怎么办呢?


这是区域的原因. 就好像日期一样的.

但并不影响你读取,只是显示的问题.

当然你也可以在程序启动改动他们的设置,但不建议



SetLocaleInfo()

还有另一个api,是只针对某进程修改的,一下完了,你自已查一下msdn
[/Quote]


美女,请问SetLocaleInfo这个函数怎么用?
最好不修改用户的默认设置。
能否这样做:做两个选项,一个是小数点格式,另外一个当地默认格式。
就是不知道强制生成小数点格式该怎么做?

感谢大家,请大家继续讨论。过几天结贴!


brightyang 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 starluck 的回复:]
引用 4 楼 fisher_older 的回复:
这个怎么说呢?比方说我编程是按小数点设置的,但是生成了exe文件在美国那边运行的话,他的计算机设置应该还是他默认的,所以他那边还是显示逗号吧?这该怎么办呢?


这是区域的原因. 就好像日期一样的.

但并不影响你读取,只是显示的问题.

当然你也可以在程序启动改动他们的设置,但不建议
[/Quote]


SetLocaleInfo()

还有另一个api,是只针对某进程修改的,一下完了,你自已查一下msdn
wsxcdx 2010-02-03
  • 打赏
  • 举报
回复
自定义下
顶华仔
starluck 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fisher_older 的回复:]
这个怎么说呢?比方说我编程是按小数点设置的,但是生成了exe文件在美国那边运行的话,他的计算机设置应该还是他默认的,所以他那边还是显示逗号吧?这该怎么办呢?
[/Quote]

这是区域的原因. 就好像日期一样的.

但并不影响你读取,只是显示的问题.

当然你也可以在程序启动改动他们的设置,但不建议
yyfhz 2010-02-03
  • 打赏
  • 举报
回复
format函数管用吗?
fisher_older 2010-02-03
  • 打赏
  • 举报
回复
这个怎么说呢?比方说我编程是按小数点设置的,但是生成了exe文件在美国那边运行的话,他的计算机设置应该还是他默认的,所以他那边还是显示逗号吧?这该怎么办呢?
starluck 2010-02-03
  • 打赏
  • 举报
回复
在控制面板->区域设置 有这个设置的.
fisher_older 2010-02-03
  • 打赏
  • 举报
回复
谢谢华仔!
能详细说一下吗?
starluck 2010-02-03
  • 打赏
  • 举报
回复
区域设置里设置下.
sg_knight 2010-02-03
  • 打赏
  • 举报
回复
学习。
yktd26 2010-02-03
  • 打赏
  • 举报
回复
确实是区域设置里面
如果真的需要统一用.
可以试试
DecimalSeparator := '.';

lhy 2010-02-03
  • 打赏
  • 举报
回复
对,区域,还有三位一个逗号呢

5,929

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧