如何按格式转换价格

发布于 2024-09-15 09:30:49 字数 131 浏览 8 评论 0原文

我遇到了定价问题。 我需要将价格输入格式设置为 XXXX.YY 类型 问题是,输入价格在欧洲可以是 XXX,YY 形状,如果是大数字则可以是 XX,XXX.YY 形状。

是否有 JS 或 C# 库可以提供帮助?

谢谢

I have encountered with a problem with pricing.
I need to format price input to be of the type XXXX.YY
the problem is, the input price can be of shape XXX,YY in europe or XX,XXX.YY if talking about big numbers.

Is there a JS or C# lib that helps there?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一个人的旅程 2024-09-22 09:30:49

在处理时,您应该使用 Decimal.Parse 而不是 Double.Parse货币价值。 (小数类型减少了舍入错误等的可能性。)

要回答有关不同文化货币格式的问题,来自 MDSN:

参数 s 使用以下方式解析
将信息格式化为
NumberFormatInfo 初始化为
当前的制度文化。了解更多
信息,请参阅 CurrentInfo。解析
使用格式的字符串
一些其他文化的信息,使用
Decimal.Parse(字符串,
IFormatProvider)或
Decimal.Parse(字符串, NumberStyles,
IFormatProvider) 方法。

如果您不知道,.NET 框架会自动从操作系统的当前区域设置中获取“当前系统区域性”。在 Windows 中,计算机用户可以在“区域设置”或类似设置中查看/更改此设置。

You should use Decimal.Parse rather than Double.Parse when dealing with currency values. (The Decimal type reduces the possibility of rounding errors etc.)

To answer your question about differing cultural currency formatting, from MDSN:

Parameter s is parsed using the
formatting information in a
NumberFormatInfo initialized for the
current system culture. For more
information, see CurrentInfo. To parse
a string using the formatting
information of some other culture, use
the Decimal.Parse(String,
IFormatProvider) or
Decimal.Parse(String, NumberStyles,
IFormatProvider) method.

In case you are not aware, the .NET framework automatically takes the "current system culture" from the current regional settings of the operating system. In Windows this can be viewed/changed by the computer user in the "Regional Settings" or similar.

我很坚强 2024-09-22 09:30:49

对于美国/英国格式:

Double.Parse("123,456.78", new CultureInfo("en-US"));

对于德国格式:

Double.Parse("123.456,78", new CultureInfo("de-DE"));

提示:如果您要从文件/数据库等存储/读取数据,通常建议使用CultureInfo.InvariantCulture

for American / British format:

Double.Parse("123,456.78", new CultureInfo("en-US"));

for German format:

Double.Parse("123.456,78", new CultureInfo("de-DE"));

Hint: If you are storing / reading data from file/Database etc. it is generally advisable to make use of CultureInfo.InvariantCulture

混吃等死 2024-09-22 09:30:49
Double.Parse("123,456.78")

将在 C# 中工作

http://msdn.microsoft.com/en-us/ library/7yd1h1be.aspx

然后将其 ToString 为您想要的格式:

String.Format("£{0:##.##}", number);
Double.Parse("123,456.78")

will work in C#

http://msdn.microsoft.com/en-us/library/7yd1h1be.aspx

Then ToString it to the format you want:

String.Format("£{0:##.##}", number);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文