Как преобразовать двухбайтовую строку в однобайтовую строку?
Я новичок в C#.
у меня есть Textbox
и это разрешено принимать double_byte
строка и используется для ввода / отображения значения даты. Теперь у меня проблема, и я не знаю, как ее решить. Я погуглил об этом и не могу найти решения.
Когда я написал Double_Byte
Символы (2012/12/31), я хочу изменить это значение на (2012/12/31) в Leave_Event
TextBox или Text_Changed
Событие этого TextBox. Итак, как я могу решить проблему.
Правка-> Мое решение - оконное приложение.
Заранее спасибо.
3 ответа
Спасибо за все ваши ответы и интересы.
Я искал решение для этого и не нашел никакого ответа. Наконец, я получил хороший ответ от моего коллеги. Поэтому я делюсь ответом на эту проблему.
- Добавить ссылку Microsoft.VisualBasic
- напишите код, подобный этому (проверьте как ответ sa_ddam213)-
using Microsoft.VisualBasic;
private void button1_Click(object sender, EventArgs e)
{
string inputText = textBox1.Text;
string singleByteString = Strings.StrConv(inputText, VbStrConv.Narrow, 0);
textBox2.Text = singleByteString;
textBox3.Text = inputText;
}
Вы должны быть в состоянии использовать Encoding.Default
преобразовать double_byte
строка в single_byte
строка
string singleByteString = Encoding.Default.GetString(Encoding.Default.GetBytes(inputText));
тесты:
private void button1_Click(object sender, EventArgs e)
{
string inputText = textBox1.Text;
string singleByteString = Encoding.Default.GetString(Encoding.Default.GetBytes(inputText));
textBox2.Text = singleByteString;
textBox3.Text = inputText;
}
Результат:
Когда вы отправляете значение вашего текстового поля в базу данных, проанализируйте его в Date.
Убедитесь, что вы сохраняете значение этого текстового поля в базе данных как тип данных DateTime.
Разбор может быть выполнен следующим образом>
double d = double.Parse(txtDate.text);
DateTime conv = DateTime.FromOADate(d);
Или самый простой способ использования >>
DateTime.Parse(txtDate.Text);
Надеюсь, что это поможет вам.