Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/93: Рейтинг темы: голосов - 93, средняя оценка - 4.99
0 / 0 / 1
Регистрация: 21.12.2011
Сообщений: 10

Преобразование строки в число с плавающей точкой

21.06.2014, 21:10. Показов 17698. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, Уважаемые программисты!
Вопрос, вроде как, детский: как преобразовать значение textbox.text в тип double?! Все методы вроде бы перепробовал, однако при конвертации исходный текст в элементе управления не совпадает с конвертированным значением, например: TextBox.Text="0,34", преобразованное значение получается 0. И что бы я не делал, что бы я не задавал, все дробные значения округляются.

Примеры кода, которыми я пытался воспользоваться:
1. Установить локализацию
VB.NET
1
 v2 = Convert.ToDouble(TextBox2.Text, CultureInfo.GetCultureInfo("ru-RU"))
2. Воспользоваться double.TryParse
VB.NET
1
Double.TryParse
3. Заменить в Textbox разделитель "," на "." и установить локализацию английскую
VB.NET
1
v2 = Convert.ToDouble(TextBox2.Text.Replace(",","."), CultureInfo.GetCultureInfo("en-US"))
Но ничего не помогло...

Прошу Вас о помощи...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.06.2014, 21:10
Ответы с готовыми решениями:

Преобразование строки в число с плавающей точкой
Столкнулся с проблемой перевода строки в double Использовал atof результат #include <iostream> #include <cstdlib> ...

Преобразование 64-битного числа в число с плавающей точкой
Доброго всем времени суток! Суть вопроса: Не могу придумать алгоритм преобразования 64-битного числа (последовательность из 8-ми байт)...

Вырезать число с плавающей точкой из строки
Добрый день. Помогите пожалуйста написать метод, который вырезает число с плавающей точкой из строки, строка обязательно начинается с...

4
 Аватар для dimsaratov
356 / 295 / 78
Регистрация: 02.10.2013
Сообщений: 476
Записей в блоге: 5
21.06.2014, 22:39
VB.NET
1
Dim iDouble as Double=CDbl(TextBox1.Text)
или
VB.NET
1
Dim iDouble as Double=CType(TextBox1.Text, Double)
1
Строитель
 Аватар для Nord790
889 / 556 / 194
Регистрация: 01.04.2014
Сообщений: 610
Записей в блоге: 6
21.06.2014, 23:43
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

VB.NET
1
2
Dim txtDouble As String = "2.56"
Dim number As Double = txtDouble.Replace(".", ",")
1
 Аватар для Petr_S
213 / 230 / 87
Регистрация: 21.04.2013
Сообщений: 404
22.06.2014, 04:34
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

VB.NET
1
2
3
        Dim separator As String = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator(0)
        Dim txtDouble As String = "2.56"
        Dim number As Double = Convert.ToDouble(Replace(txtDouble, ".", separator))
0
 Аватар для vova2112
147 / 135 / 34
Регистрация: 28.02.2014
Сообщений: 165
23.06.2014, 00:25
Можно ещё так попробовать:
VB.NET
1
2
3
4
5
6
7
        Dim sep As Char = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator
        For Each d In TextBox1.Text
            If Not Char.IsDigit(d) Then
                'MsgBox("Выражение не является десятичным числом")
                TextBox1.Text = Math.Round(CDec(TextBoxX1.Text.Replace(d, sep)), 2)
            End If
        Next
P.S.
Если тебе не нужны числа с фиксированной длиной дробных то можно опустить метод "Math.Round" ведь он округляет десятичное значение до указанного числа дробных разрядов, и оставить:
VB.NET
1
CDec(TextBox1.Text.Replace(d, sep))
Добавлено через 4 часа 41 минуту
Ещё есть такой способ:
VB.NET
1
2
3
4
5
6
7
8
9
10
        Dim en, ru As Globalization.CultureInfo
        en = Globalization.CultureInfo.CreateSpecificCulture("en-GB")
        ru = Globalization.CultureInfo.CreateSpecificCulture("ru-RU")
        Dim val#
        Try
            val = Double.Parse(TextBox1.Text, ru)
        Catch ex As FormatException
            val = Double.Parse(TextBox1.Text, en)
        End Try
        TextBox1.Text = val
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.06.2014, 00:25
Помогаю со студенческими работами здесь

Преобразование чисел с плавающей точкой в числа с фиксированной точкой
Здравствуйте, подскажите пожалуйста как заменить вещественные числа с плавающей точкой, числами округленными до десятых, записанными в...

Перевод строки в число с плавающей точкой и обратно
на форме есть Edit/Label/Button (всех по одному), нужно из поля Edit вытащить число с плавающей точкой, выполнить с ним пару математических...

Ошибка при преобразовании строки в число с плавающей точкой
Ребят, делаю вроде бы обычную лабу столкнулся с проблемой. в лабораторной надо посчитать функцию с шагом и т.д. Это не затруднило....

Из строки выделить подстроку, задающую вещественное число с плавающей точкой
Из строки, состоящей из букв, цифр, запятых, точек, знаков + и – , выделитьподстроку, задающуювещественноечислосплавающейточкой...

Из строки выделить подстроку, задающую вещественное число с плавающей точкой
Из строки, состоящей из букв, цифр, запятых, точек, знаков + и – , выделить подстроку, задающую вещественное число с плавающей точкой. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru