Как получить десятичную часть двойного C# с символом плюс или минус
У меня есть, но мне нужно, если десятичная часть меньше 0,5, результат содержит символ минус ( -). а если десятичная часть больше, то равный 0,5 результат содержит символ плюс ( + ).
Я использую следующий код, но он возвращает все десятичные числа с символом ( + ).
предполагать
456.45 [выход должен быть-.45 ]
456.65 [выход должен быть +.65 ]
заранее спасибо
Что я уже пробовал:
double value = Convert.ToDouble(textBox5.Text); int result = (int)(((decimal)value % 1) * 100); if ((result)<0.5) { textBox6.Text = "-" + result.ToString(); } else { textBox6.Text = "+" + result.ToString(); }
ZurdoDev
Один простой способ-преобразовать в строку и разделить на".", а затем изучить вторую часть. Хотя, наверное, так будет лучше.
F-ES Sitecore
Что делать, если код выполняется в локали, где", " является разделителем?
ZurdoDev
Это не сработает.
Philippe Mori
Узнайте, как использовать отладчик.
Если бы вы внимательно прочитали свой собственный код, вы бы увидели в нем много проблем. Целое число не имеет фракционной части, поэтому сравнивать результат с 0,5 абсолютно бессмысленно. Кроме того, вы умножаете содержимое текстового поля на 100, но остальная часть кода не учитывает это. И мы даже не говорили о преобразовании типов....
Philippe Mori
Когда вы публикуете вопрос, приложите усилия, чтобы правильно отформатировать код в блоке кода. Как Т, ваш вопрос даже не стоит 1 балла.
Sergey Alexandrovich Kryukov
В первую очередь: число с плавающей запятой не имеет "десятичной части".
—СА