我有一个工作网站,我在其中到处都使用这个表达方式。price.ToString("C")它目前显示2位小数,例如。$1.45现在我需要网站显示小数点后4位,例如。$1.4515有什么简单的方法可以全局更改它吗? 最佳答案 您无法修改格式说明符的默认行为,但您可以在项目中进行全局搜索和替换。假设您使用的是VisualStudio,您可以执行全局搜索和替换(Ctrl-Shift-H)并将.ToString("C")替换为.ToString("C4"). 关于c#-更改货币格式以在全局范围内显
我正在尝试在C#中使用String.Format("{0:c}",somevalue)但我很难弄清楚如何配置输出以满足我的需要。这是我的需求:0输出空白1.00的产出为1.00美元10.00的产出为10.00美元100.00的产出为100.00美元1000.00的产出为1,000.00美元我试过String.Format("{0:c}",somevalue)但对于零值它输出$0.00这不是我想要的。我也尝试过String.Format("{0:$0,0.00;$(0,0.00);#}",somevalue),但对于1.0,它输出$01.00。String.Format("{0:$0.0
我正在查询一个返回货币值的数据库字段,我将其分配给一个字符串,但它在末尾添加了额外的00。例如查询返回30.00我将其分配给一个字符串(stringvalue=Convert.ToString(ReturnValue);)但是当我输出它时,它显示为30.0000您能告诉我哪里出了问题以及解决这个问题的最佳方法吗? 最佳答案 马格里夫,我最好的建议是使用SqlMoney类型将其转换为double值。从那里,您可以随心所欲地输出它!这是一个例子:System.Data.SqlTypes.SqlMoneyReturnValue;//Set
我的数据库中有一个包含货币字段的表。我已经为该货币字段创建了实体并创建了decimal属性。当该字段的值显示在我的MVC3View上时,它在小数点后有四个零0000,如下所示:5489.0000。我只想显示两个00或小数位。我该如何解决它。为什么即使我将属性声明为小数,它仍显示四位小数。请提出建议。 最佳答案 SQLServermoney数据类型在内部是一个64位整数,隐含小数点后4位。引用联机丛书的话,它精确到“万分之一的货币单位”。它大致相当于decimal(19,4)。小数位数为4而不是2的原因是为了保持算术结果的精度。您的普
我需要为每一千个逗号(,)。所以我使用了DataFormatString="${0:#,#}"。它工作正常。但是当值为0时。它正在显示$00。我只想显示$0。我们怎样才能做到这一点? 最佳答案 DataFormatString="{0:C0}"这将格式化为小数点后0位的货币。DataFormatString="{0:N0}"这将格式化为数字,例如1,000。如果您想要小数位,请将第二个0替换为小数点后任意数量的数字。例如:DataFormatString="{0:N4}"格式如1,000.0000
我有asp:TextBox来保存货币值(value),即“1000”、“1000,0”和“1000,00”(逗号是俄罗斯标准的分隔符)。我要将什么ValidationExpression用于适当的asp:RegularExpressionValidator?我试过\d+\,\d{0,2}但它不允许没有小数位的数字,例如只是“1000”。 最佳答案 \d+(,\d{1,2})?仅当您有十进制数字时才允许使用逗号,并且根本不允许使用逗号。问号与{0,1}的含义相同,因此在\d+之后您有零个实例(即没有)或一个实例,\d{1,2}正如海伦
下面列出的场景的最佳做法是什么?我们有一个应用程序希望支持多种货币。该软件将尊重用户的语言环境和区域设置来指示正确的数字格式,即$10,000.00或10.000,00₴等。但是,我们希望能够根据货币ID(可能是三个字母的ISO4217代码)格式化不同的数字。我们的想法是在数据库中存储每种货币的表,然后请求用户选择将要使用的货币符号。该程序随后将根据语言环境/区域设置格式化所有数字,但将使用我们程序中定义的货币符号。因此,给定以下值和货币10000澳元5989.34美元450欧元程序会输出$10,000.00$5,989.34€450.00或者使用将数字格式化为#####,##$的区域
我们有一个大型ASP.NETMVC项目,其中所有输出到屏幕的数字都被格式化为货币(即ToString("c")。但是,负数显示为()。例如:decimald=-8.88m;Console.WriteLine(d.ToString("c"));//outputs$(8.88)这对我们的用户来说有点烦人,尤其是在文本框中。我们有几千个地方可以像这样将货币字段发送到屏幕,所以我们希望有一种方法可以全局更改格式。有吗?我见过的所有方法都表明您必须创建一个新的格式化程序,类似于:stringcurCulture=System.Threading.Thread.CurrentThread.Curr
我不知道为什么这不起作用:strings="12,00€";vargermanCulture=CultureInfo.CreateSpecificCulture("de-DE");decimald;if(decimal.TryParse(s,NumberStyles.AllowCurrencySymbol,germanCulture,outd)){//iwanttogettothispointConsole.WriteLine("Decimalvalue:{0}",d);} 最佳答案 使用NumberStyles.Currency而
离开regex游戏已有一段时间了。尝试提出一些允许用户输入带/不带美元符号或带/不带逗号的货币值的东西。例如,以下所有值都应该有效:55.15.10$5500,000500,000.1500,000.10$100,000,000.50etc....有人可以帮帮我吗? 最佳答案 这应该有效:isValid=str.search(/^\$?[\d,]+(\.\d*)?$/)>=0;对逗号放置更严格一点(例如,会拒绝3,2.10):isValid=str.search(/^\$?\d+(,\d{3})*(\.\d*)?$/)>=0;从中获