Как оставить 1 число после запятой. А если целое число, то добавить число после запятой.

Hannes

Client
Регистрация
03.02.2016
Сообщения
496
Благодарностей
237
Баллы
43
Здравствуйте! Подскажите, пожалуйста, это сделать. Проще показать задачу.

Есть случайные числа, целые и нет:
1
5,07
3,3465743
6
12,4654

Нужно так:
1,0
5,0
3,3
6,0
12,4

Может кто-нибудь поделится решением в 1 кубик? :bc:
 

K R

Client
Регистрация
14.01.2017
Сообщения
84
Благодарностей
77
Баллы
18
В проект добавляем две переменные: number и new_number. В number кладём число, которое нужно изменить. В new_number получаем измененное число.

В директивы using и общий код нужно добавить это:
using System.Globalization;

Кубик кода C#:
// Переменная с исходным числом
string number = project.Variables["number"].Value;

// Переменная с измененным числом
string formattedNumber = "";

// Определяем культуру для правильной обработки десятичного разделителя
CultureInfo ci = new CultureInfo("en-US");
ci.NumberFormat.NumberDecimalSeparator = ",";

if (decimal.TryParse(number, NumberStyles.Any, ci, out decimal result))
{
    // Удаляем все кроме первого знака после запятой
    decimal truncated = Math.Truncate(result * 10) / 10;
    // Форматируем вывод с одним знаком после запятой
    formattedNumber = truncated.ToString("0.0", ci);
}
else
{
    project.SendInfoToLog("Неверный формат числа.");
}

project.Variables["new_number"].Value = formattedNumber;
Код был написан на пару с ИИ, возможно есть более простые решения.
 
  • Спасибо
Реакции: Sergodjan и Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
496
Благодарностей
237
Баллы
43
Спасибо! :az:
Работает отлично!
 

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