по поводу разделителя в дробном числе

  • Автор темы Автор темы bhairava7
  • Дата начала Дата начала

bhairava7

Client
Регистрация
18.08.2015
Сообщения
154
Реакции
15
Баллы
18
Приветствую!

Подскажите, пожалуйста, как повторить те же действие, если значения содержатся в переменной, а не в коде.

Пример, который работает:
C#:
Развернуть Свернуть Копировать
return 5.05 * 100; // = 505;

Пример, который не работает:
C#:
Развернуть Свернуть Копировать
decimal result = 0;

var tcena= project.Variables["tcena"].Value.ToString(); // эта переменная содержит 5.05
result = System.Convert.ToDecimal(tcena);

return result * 100; // = возникает ошибка.
Пробовал искать в инете, так понял, что нужно как-то определить символ разделителя дробной части и задать его явно.

За это отвечает 2-й параметр в функции ToDecimal "iformatprovider", но что-то никак не удаётся подцепить его без ошибок. Может нужно еще что-то в юзинги добавить?
 
Последнее редактирование:
Если у вас возникает ошибка, сразу пишите какая ошибка.
тут вообще не нужны юзинги

Код:
Развернуть Свернуть Копировать
return double.Parse(project.Variables["tcena"].Value.Replace(".",","))*100;
 
Если у вас возникает ошибка, сразу пишите какая ошибка.
тут вообще не нужны юзинги

Код:
Развернуть Свернуть Копировать
return double.Parse(project.Variables["tcena"].Value.Replace(".",","))*100;

Ошибка возникала именно из-за того, что в разделителе точка, а не запятая. Я знаю, что можно таким костылём решить, но интересно было узнать, как правильно передавать свой разделитель iformatprovider в функцию ToDecimal.

Но если не знаете, ладно, обойдусь таким решением.
Благодарю!
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)