تاثیر فرهنگ جاری سیستم بر روی اعداد در دات نت
نویسنده: وحید نصیری
تاریخ: ۱۳۹۳/۰۹/۰۵ ۸:۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
using System;
namespace CultureAndNumbers
{
class Program
{
static void Main(string[] args)
{
var number = Convert.ToDecimal("12.32");
Console.WriteLine(number);
}
}
}
public class CultureScope : IDisposable
{
private readonly CultureInfo _originalCulture;
public CultureScope(string culture)
{
_originalCulture = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
}
public void Dispose()
{
Thread.CurrentThread.CurrentCulture = _originalCulture;
}
} using (var cultureScope = new CultureScope("fa-IR"))
{
Console.WriteLine(Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator);
var number = decimal.Parse("12.32");
Console.WriteLine(number);
} using (var cultureScope = new CultureScope("fa-IR"))
{
Console.WriteLine(Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator);
var number = decimal.Parse("12.32", new CultureInfo("en"));
Console.WriteLine(number);
} using (var cultureScope = new CultureScope("fa-IR"))
{
Console.WriteLine(Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator);
var number = decimal.Parse("12.32", CultureInfo.InvariantCulture);
Console.WriteLine(number);
} Math.Sinh(123456.12).ToString();
Math.Sinh(123456.12).ToString(CultureInfo.InvariantCulture);
<PackageReference Include="Meziantou.Analyzer" Version="1.0.708">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> <PropertyGroup>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>true</RunAnalyzersDuringLiveAnalysis>
</PropertyGroup> # MA0051 : Method is too long. maximum allowed: 60. dotnet_diagnostic.MA0051.severity = suggestion