C# точка вместо запятой?

PROforum

Client
Регистрация
17.08.2014
Сообщения
252
Благодарностей
19
Баллы
18
Здравствуйте.
Есть такой код:
return System.Math.Round(Convert.ToDouble(project.Variables["test"].Value.Replace(".",",")), 3);
он округляет дробное число до 3-го знака и ставит запятую. Можно ли сделать в этом же кубике чтоб вместо запятой ставилясь точка?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
C#:
return System.Math.Round(
    double.Parse(project.Variables["test"].Value,
    System.Globalization.NumberStyles.Any,
    System.Globalization.CultureInfo.InvariantCulture
), 3).ToString(System.Globalization.CultureInfo.InvariantCulture);
 
Последнее редактирование:
  • Спасибо
Реакции: Zedx и RoyalBank

PROforum

Client
Регистрация
17.08.2014
Сообщения
252
Благодарностей
19
Баллы
18
Спасибо так отлично работает
 

PROforum

Client
Регистрация
17.08.2014
Сообщения
252
Благодарностей
19
Баллы
18
Ваш код отлично работает. Можете написать код который не округляет , а обрезает все цифры после третьей после запятой и также чтоб вместо запятой была точка
пример 0.5658998 - 0.565
Заранее спасибо
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 777
Благодарностей
1 448
Баллы
113
Ваш код отлично работает. Можете написать код который не округляет , а обрезает все цифры после третьей после запятой и также чтоб вместо запятой была точка
пример 0.5658998 - 0.565
Заранее спасибо
C#:
string str = project.Variables["number"].Value.Replace(".",",").Trim().Substring(0, 5); // переменная number в которой значение 0.5658998
project.Variables["result"].Value = str.Replace(",","."); // в переменной result будет результат 0.565
 

PROforum

Client
Регистрация
17.08.2014
Сообщения
252
Благодарностей
19
Баллы
18
Ваш код отлично работает. Можете написать код который не округляет , а обрезает все цифры после третьей после запятой и также чтоб вместо запятой была точка
пример 0.5658998 - 0.565
Заранее спасибо
C#:
string str = project.Variables["number"].Value.Replace(".",",").Trim().Substring(0, 5); // переменная number в которой значение 0.5658998
project.Variables["result"].Value = str.Replace(",","."); // в переменной result будет результат 0.565
К сожалению ваш код обрезает числа не начиная после точки, а с начала
0.56885-0.568
10.56885-10.56
и тд
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 777
Благодарностей
1 448
Баллы
113
К сожалению ваш код обрезает числа не начиная после точки, а с начала
0.56885-0.568
10.56885-10.56
и тд
C#:
string str = project.Variables["number"].Value.Replace(".",",").Trim();
string ToDelimiter = str.Split(',')[0];
string AfterTheSeparator = str.Split(',')[1];
string Pruning = AfterTheSeparator.Substring(0, 3);
project.Variables["result"].Value = ToDelimiter + "." + Pruning;
 
  • Спасибо
Реакции: PROforum

PROforum

Client
Регистрация
17.08.2014
Сообщения
252
Благодарностей
19
Баллы
18
Спасибо! Отлично работает.
 

Muttel

Client
Регистрация
04.10.2020
Сообщения
5
Благодарностей
0
Баллы
1
C#:
return System.Math.Round(double.Parse(project.Variables["test"].Value, System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture), 3).ToString(System.Globalization.CultureInfo.InvariantCulture);
Подскажи как в переменой поменять точку на запятую ?
 

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 523
Благодарностей
1 321
Баллы
113
  • Спасибо
Реакции: prostors и SlaVka

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