Столкнулся с простой задачей. Нужно вырезать первые два символа после точки в типе double. Например есть число
price = 26.109000006
Я должен получить 10. Не 26.10, а просто 10. Без каких либо округление.
Если конвертировать это число в стринг и вырезать первые числа после точки то это делается так.
string stringPrice = price.ToString();
stringPrice = stringPrice.Substring(stringPrice.IndexOf(',')+1);
На выходи будет 10. Но есть один нюанс. Если попадется число например вот такое
26.10000000
То метод ToString()
вернет мне не 26.10000000
а 26.1
и на строке
stringPrice = stringPrice.Substring(stringPrice.IndexOf(',')+1);
я уже поймаю исключение.
По идеи метод ToString()
должен был бы конвертнуть вот так "26.10000000"
. Но нет, он обрезать нули.
Вообще-то есть подозрение что я вовсе неправильным путем пошел. Моя окончательная цель просто сравнение первых 2-х символом после точки равны ли они 0
. Просто может попасться число 26.0000000005
и тогда на целое число не проверю
Как можно просто получить первые два числа после точки без округлений и обрезаний нулей. Спасибо
То что у вас "не нули" можно проверить так:
(26.0000000005 - 26) >= 0.01
- false
(26.109000006 - 26) >= 0.01
- true
Ну или более обобщенный вариант: (number - Math.Truncate(number)) >= 0.01
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В этот код работает частично, буквы меняются, но коды не меняются
Решил попробовать написать свой парсер для сайта и столкнулся с небольшой проблемойНу, начну с того, что парсер работает, он отлично собирает...
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме
Могу ли я передать данные находящиеся между тегами <h1></h1> придав имя =>