我的数据库中的列具有十进制(18,0)数据类型。 当我尝试插入时,出现“格式错误”。我喜欢这样...:
decimal amountToWithdraw = Convert.ToDecimal(txtAmountToTransfer.Text);
如果我写25.89,那么这会给我错误消息“格式错误” 它适用于孔号,例如25,但不适用于点25.89
我在文本框中使用此eventHandler:
private void txtAmountToTransfer_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
if(ch == 46 && txtAmountToTransfer.Text.IndexOf('.') != -1)
{
e.Handled = true;
return;
}
if(!Char.IsDigit(ch) && ch != 8 && ch != 46)
{
e.Handled = true;
}
}
这应该很容易,但是我尝试了很多方法,但直到我无法正常工作。预先谢谢你
答案 0 :(得分:0)
尝试使用
* def json = ['a', 'b', 'c']
* def fun =
"""
function(array) {
var temp = '';
for (var i = 0; i < array.length; i++) {
if (i > 0) temp = temp + ',';
temp = temp + "'" + array[i] + "'"
}
return '(' + temp + ')';
}
"""
* def result = fun(json)
* match result == "('a','b','c')"
答案 1 :(得分:0)
尝试以下方法:
private void txtAmountToTransfer_KeyPress(object sender, KeyPressEventArgs e)
{
char ch = e.KeyChar;
char decimalSeparatorChar = Convert.ToChar(Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberDecimalSeparator);
if(ch == decimalSeparatorChar && txtAmountToTransfer.Text.IndexOf(decimalSeparatorChar) != -1)
{
e.Handled = true;
return;
}
if(!Char.IsDigit(ch) && ch != 8 && ch != decimalSeparatorChar)
{
e.Handled = true;
}
}
然后decimal.Parse(txtAmountToTransfer.Text)
可以正常工作。并确保在键入数字时使用正确的小数点分隔符。