【发布时间】:2018-02-19 06:06:41
【问题描述】:
我的 C# 应用程序中有许多带有 int、decimal 变量的类。 请考虑以下示例。
public class Employee
{
decimal TotalSalary;
public decimal Salary
{
get
{
return TotalSalary;
}
set
{
TotalSalary = value;
}
}
public string GetSalary()
{
return TotalSalary.ToString();
}
}
public class Contract
{
Employee emp1 = new Employee();
public void ProcessSalary()
{
emp1.Salary = 100000;
SendToLabel(emp1.GetSalary());
}
}
在上面的例子中,每当我在我的应用程序中使用任何十进制/整数变量的 "ToString" 时,它都应该给我印度编号格式的数字,如下所示。
100000 应该呈现为 1,00,000
10000 应该呈现为 10,000
这应该在我的 C# .NET 应用程序中全局发生。 我可以在 global.asax 页面中使用 CultureInfo 吗?
现在我正在使用以下代码格式化日期。
CultureInfo newCulture = (CultureInfo) System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
newCulture.DateTimeFormat.ShortDatePattern = "dd-MMM-yyyy";
newCulture.DateTimeFormat.DateSeparator = "-";
Thread.CurrentThread.CurrentCulture = newCulture;
【问题讨论】:
-
100000 should render as 1,00,000你确定不想将100,000作为输出吗? -
是的,是的。 10000000 应该呈现为 1,00,00,000.00
标签: c# .net formatting numbers