"2.24" 这种隐含的-6ren">
gpt4 book ai didi

c# - Web 应用程序中基于文化的 ToString() 方法

转载 作者:行者123 更新时间:2023-11-30 22:36:03 25 4
gpt4 key购买 nike

例如:

double d = 2.24;

如果 Culture 是 'fr'

d.ToString() -> "2,24" 

如果文化是'en'

d.ToString() -> "2.24" 

这种隐含的基于文化的转换会产生很多错误。

在 aspx.cs 中

<script>
var n = <% Response.Write(d.ToString()); %> // if 'fr' n = 2,24 -> js syntax error
</script>

我们可以避免这种情况

Convert.ToString(d, CultureInfo.InvariantCulture);

是否有任何选项可以让 ToString() 默认使用此 InvariantCulture

知道为什么它是默认完成的吗?

最佳答案

您可以使用 <globalization> 您的 web.config 元素并设置文化和 UI 文化。例如:

<system.web>
<globalization culture="en-US" uiCulture="en-US">
</system.web>

顺便说一下:

<script>
var n = <% Response.Write(d.ToString()); %> // if 'fr' n = 2,24 -> js syntax error
</script>

我建议您始终使用 JavaScriptSerializer为了在将数据传递给 javascript 时对值进行 JSON 序列化:

<script>
var n = <%= new JavaScriptSerializer.Serialize(d) %>;
</script>

关于c# - Web 应用程序中基于文化的 ToString() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7179851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com