c# - C# 将 Double 从 DataGridView 转换为字符串
问题描述
40
在我的按钮单击时,当被替换的值只是一个数字(例如)并且它被替换为字符串(例如)时,我收到以下错误AB123
。
System.Exception:AB123 不是 Double 的有效值。--->
System.FormatException:输入字符串的格式不正确。
在 System.Number.ParseDouble(字符串值,NumberStyles 选项,NumberFormatInfo numfmt)
按钮点击:
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
if (!RowIsEmpty(i))
{
dataGridView1[3, i].Value = Combo.Text;
}
}
}
我尝试过像这样隐式转换:
dataGridView1[3, i].Value.ToString() = Combo.Text;
但这不起作用,我也尝试将其称为字符串,如下所示:
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < dataGridView1.RowCount; i++)
{
if (!RowIsEmpty(i))
{
string DGVS = dataGridView1[3, i].Value.ToString();
DGVS = Combo.Text;
}
}
}
但这并没有给出错误,但实际上并没有做任何事情。
数据是从 excel 文件中加载的。
例子
Col1 Col2 Col3
AAA BBB 40
组合框:
ABC123
解决方案
好的,我想我找到了解决方案:
double price;
bool isDouble = Double.TryParse(textBox1.Text, out price);
if (isDouble)
{
Convert.ToDouble(textBox1.Text);
dataGridView1[0, 0].Value = textBox1.Text;
}
else
{
dataGridView1[0, 0].Value = textBox1.Text;
}
基本上,首先检查文本框是否为双精度。如果是 double,则转换为 double 并将其添加到 DGV。如果是字符串,只需将字符串添加到 DGV 中即可。
测试:
TextBox1.Text = AAA; //worked
TextBox1.Text = BBB; //worked
TextBox1.Text = 40; //worked
TextBox1.Text = 40.00; //worked
TextBox1.Text = 42,20; //worked
推荐阅读
- android - URL Waze (GPS),从浏览器指向应用程序
- vuetify.js - 如何在独立/CDN 模式下更改 Vuetify 中的主题颜色?
- ios - 如何使用 Swift 保存背景颜色?
- c# - SharpZipLib 在提交更新时抛出 System.IO.FileNotFoundException
- git - 如果在分支中工作,为什么 git push 需要额外的参数?
- react-native - React-native socket.io 发出/在未触发的动作上
- php - 如何将依赖于 API-Platform 的序列化组的属性公开给 react-admin?
- javascript - HTTP 调用结束时的事件调用
- ruby-on-rails - 如何使用 stub_request 模拟对站点的所有请求?
- flutter - 允许 GridView 与 SliverAppBar 重叠