Bunun sebebi, ayrıştırıcının grup ayırıcılarını gerçekten umursamadığı için düşünürdüm - bir dizeyi bir ondalığa dönüştürme işlemiyle ilgisizler.
Onlara binlerce ayırıcı diyoruz, ama gerçekten değiller. Onlar grup ayırıcılarıdır - her 3 basamağı, her 10 haneyi, her 1 basamağı bölebilirsin, o zaman neden her 0 rakamı olmasın?
İlginçtir, kod .NET 4 için değişti - bu benim için Reflektör alakalı çıkışı:
else
{
if (((currencySymbol == null) ||
((chPtr2 = MatchChars(p, currencySymbol)) == null)) &&
((ansiCurrencySymbol == null) ||
((chPtr2 = MatchChars(p, ansiCurrencySymbol)) == null)))
{
break;
}
num |= 0x20;
currencySymbol = null;
ansiCurrencySymbol = null;
p = chPtr2 - 1;
}
ben .NET4.0 bunu kontrol ettik. Biçim istisnasını artırır – HuBeZa
Hangi kültürü kullanıyorsunuz? Bu dizeler şu andaki kültürümü veya değişmez kültürü kullanarak ayrıştırılamaz. – LukeH
Sanırım programcı tembelliği. Bin ayırıcıyı gevşek bir şekilde kullanan bir yer görmedim. – HuBeZa