! E M O T I O N A L ! Ответов: 1

Как преобразовать ввод текстового поля в десятичный в VB.NET-что?


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

Shared Sub SetColorizationColor(ByVal color As String)
    Dim regKey As RegistryKey
    regKey = My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\DWM", True)
    regKey.SetValue("AccentColor", 268435455)
    regKey.SetValue("ColorizationColor", Convert.ToDecimal(color))
    regKey.Close()
End Sub


Аргумент "color" в данном случае является вводом текстового поля. Функция принимает входные данные текстового поля (строку), преобразует их в десятичное число и устанавливает значение раздела реестра в возвращаемое десятичное число.

Это выплевывает исключение при вызове, говоря::
Цитата:
Входная строка была не в правильном формате.


Что я уже пробовал:

Я пробовал использовать метод Decimal.Parse (). Совсем не повезло. Я попробовал посмотреть, принимает ли ключ другой формат, и это тоже не сработало.

Заранее благодарю вас за помощь!

1 Ответов

Рейтинг:
2

Christian Graus

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


! E M O T I O N A L !

Как бы вы предложили преобразовать строку в десятичную?

Christian Graus

Сначала убедитесь, что строка является десятичной

! E M O T I O N A L !

Строка в текстовом поле является шестнадцатеричным значением. Исключая хэштег, конечно.

Я попробую сделать выбор цвета и преобразовать это значение в десятичную дробь вместо текстового поля.

Christian Graus

Тогда это не десятичная дробь, не так ли?

Dim i As Integer = Convert.ToInt32("c001", 16)

! E M O T I O N A L !

Я попробовал это предложение, и оно всегда выходит как одно единственное значение, независимо от того, какое значение я помещаю в текстовое поле. Я проверил значения реестра, и они тоже одинаковы, несмотря ни на что.

Christian Graus

Ты умеешь кодировать? Вы понимаете, что в моем примере есть жестко закодированное значение, которое вам нужно заменить вашей переменной?

! E M O T I O N A L !

Конечно я знаю это и я вкладываю свои ценности

Christian Graus

Затем он вернет номер, который вы ввели.