首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在不同的操作系统上定义小数,如何理解C#使用的是点还是逗号

在不同的操作系统上定义小数,如何理解C#使用的是点还是逗号
EN

Stack Overflow用户
提问于 2010-04-15 19:23:21
回答 4查看 239关注 0票数 1

我写了一个小程序,程序在不同的操作系统(xp,win7)上的工作方式不同,问题是程序读取了一些浮点数,比如2,686。

一个操作系统(win7)将其转换为float true,但在xp上它出错并打印2686。我如何理解操作系统使用哪个符号表示十进制数?

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-15 19:26:35

代码语言:javascript
运行
复制
string sep = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
票数 5
EN

Stack Overflow用户

发布于 2010-04-15 19:26:44

这不取决于操作系统,而取决于每台PC上的(默认)语言设置。

如果您使用:double value = double.Parse(text);,则您使用的是用户配置的任何区域性。如果您知道输入是某种格式,请使用:

代码语言:javascript
运行
复制
var ci = CultureInfo.GetCulture("nl-NL");  // dutch
double value = double.Parse(text, ci);

每个转换的函数都有(1个或多个)重载来获取FormattingProvider (区域性)。

票数 2
EN

Stack Overflow用户

发布于 2010-04-15 19:27:05

使用带有double.Parse(string,System.Globalization.CultureInfo.CurrentCulture);)的用户当前区域性分析浮点数

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2644769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档