Точка или запятая, как разделитель вещественного числа на языке Си.

banzikostik

Пользователь
Регистрация
25.04.2020
Сообщения
55
Благодарностей
2
Баллы
8
Есть кубик на Си.

double a=double.Parse(project.Variables["usd_balanse"].Value.Replace(".",","));
double b=double.Parse(project.Variables["del_balanse"].Value.Replace(".",","));
double i3;

if (a/b>0.1)
{ i3=a/b; }
else { i3=a; };
return i3;

Как сделать что-бы что-бы у выходного параметра i3 разделителем являлась точка, вместо запятой.
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 516
Благодарностей
3 369
Баллы
113
В .Net возможно и необходимо указывать универсальный способ парсинга, что бы из-за элементарной смены локали данных или системы, ничего не сломалось.
C#:
double a = double.Parse(project.Variables["usd_balanse"].Value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture);
double b = double.Parse(project.Variables["del_balanse"].Value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture);
double i3;

if (a / b > 0.1)
    i3 = a / b;
else
    i3 = a;

return i3.ToString(System.Globalization.CultureInfo.InvariantCulture);
 

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