Tôi cho rằng đó là do trình phân tích cú pháp không thực sự quan tâm đến các trình tách nhóm - chúng không liên quan đến quá trình chuyển đổi chuỗi thành số thập phân.
Chúng tôi gọi chúng là dấu phân cách hàng nghìn, nhưng chúng thực sự không. Chúng là các nhóm phân tách nhóm - bạn có thể chia 3 chữ số, mỗi 10 chữ số, mỗi chữ số 1, vậy tại sao không phải 0 chữ số?
Điều thú vị là các mã đã thay đổi cho .NET 4 - đây là sản phẩm có liên quan từ Reflector cho tôi:
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;
}
Nguồn
2011-01-13 10:03:03
Tôi đã kiểm tra nó trong .NET4.0. Nó đưa ra một ngoại lệ định dạng – HuBeZa
Bạn đang sử dụng văn hóa nào? Không thể phân tích cú pháp các chuỗi đó bằng văn hóa hiện tại của tôi hoặc văn hóa bất biến. – LukeH
Tôi nghĩ đó là một sự lười biếng lập trình viên. Tôi đã không nhìn thấy một nơi sử dụng hàng nghìn dấu phân cách lỏng lẻo. – HuBeZa