Особенности парсинга строк в Windows и MacOs X

Особенности парсинга строк в Windows и MacOs X

Сообщение Neodrop 13 фев 2010, 12:32

float.Parse("0,5") в Windows выдаст 0.5 а в Маке ошибку, потому что для Мака писать нужно через точку float.Parse("0.5"). Так же эта проблема проявляется и под Windows на машинах Sony Vaio.
Чтобы избежать таких проблем, используем, приведённый ниже, код.
(Нашел камрад Sergion)

(js)

Синтаксис:
Используется cpp
static function StrToFloat(str : String) : float {
 if(str) {
  ds = System.Threading.Thread.CurrentThread.CurrentCultu­re.NumberFormat.NumberDecimalSeparator;
  if(ds == ",") str = str.Replace(".",",");
   else str = str.Replace(",",".");
  return float.Parse(str);
 } else return 0;
}
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Особенности парсинга строк в Windows и MacOs X

Сообщение fox 13 фев 2010, 14:38

чтобы не было проблем с разделителем нужно просто задать локаль System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);
и тогда разделитель всегда будет .
Добавить foxumkov в Skype
Мои проекты:
Turbodrive
Изображение

Изображение
Аватара пользователя
fox
UNITрон
 
Сообщения: 255
Зарегистрирован: 07 ноя 2008, 13:02
Откуда: Питер
  • ICQ


Вернуться в Tips & Tricks

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1