使用正则表达式将点(.)替换为逗号(,)?
我正在开发一个 C# 应用程序。我想用逗号(,)更改数字十进制数字,其中我使用正则表达式有点(。)。
例如:
Price= 100,00.56
作为表示数值的国际规则,但在瑞典,他们对数字有不同的方式,比如
Price= 100.00,56
所以我想使用正则表达式将点(.)更改为逗号(,)并将逗号(,)更改为点(.)。可以指导我这件事。
I am working on a C# application. I want to change number decimal figure with comma(,) where i have dot(.) using regular expression.
For example:
Price= 100,00.56
As this international rule of representing numeric values but I Sweden they have different ways for numbers Like
Price= 100.00,56
So i want to change dot(.) into comma(,) and comma(,) into dot(.) using RegEx. Could guide me about this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
设置数字格式时,应使用字符串格式重载,该重载采用 < a href="http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx" rel="noreferrer">
CultureInfo
对象。瑞典语的区域性名称是“sv-SE”,如此处所示。编辑:
正如 @OregonGhost 指出的那样 - 解析数字也应该使用
CultureInfo
来完成。When formatting numbers, you should use the string format overload that takes a
CultureInfo
object. The culture name for swedish is "sv-SE", as can be seen here.Edit:
As @OregonGhost points out - parsing out numbers should also be done with
CultureInfo
.不是正则表达式解决方案,但根据我的经验 - 更正确:
这个方法有什么作用?它确保如果给定的字符串是不正确的瑞典字符串,但英语是正确的 - 将其转换为瑞典,例如
100,00 -> 100,00
但100.00 -> 100,00
。Not a RegEx solution but from my experience - more correct:
What does this method do? It ensures that if given string is incorrect Sweden string but is correct English - convert it to Sweden, e.g.
100,00 -> 100,00
but100.00 -> 100,00
.即使没有正则表达式,您也可以做到这一点。例如
You can do this even without regex. For example
还可以看看
Also have a look at
不确定 100,00.56 代表什么,您的意思是 10.000,56 吗?
回答你的问题:
对于如此简单的任务,为什么使用正则表达式?您可以更轻松地做到这一点:
编辑
我同意@Oded,对于格式化数字,请使用
CultureInfo
类。Not sure what 100,00.56 represents, did you mean 10.000,56?
To answer your question:
For such a simple task, why use RegEx? You can do it much easier:
Edit
I agree with @Oded, for formatting numbers use the
CultureInfo
class.不要依赖 RegExp 来处理这种事情:) 使用文化 fx 中的构建:
en-US 将正确解析它,而 da-DK 使用另一种表示形式。我住在 DK,因此使用它,但你应该使用适合你输出的文化。
Do not rely on RegExp for this kind of thing :) Use the build in cultures fx:
en-US will parse it correctly and da-DK uses the other kind of representation. I live in DK and therefore use that but you should use the culture which fits your output.