C# 检查JavaScript值是否为十进制

C# 检查JavaScript值是否为十进制,c#,javascript,C#,Javascript,我正在开发一个应用程序。我正在使用JavaScript将值保存到数据库中。我的数据库表中有一列包含十进制值。它可以与一些旧的C代码配合使用。事实上,在C中,我会这样做: decimal? myValue = null; decimal temp = 0; if (Decimal.TryParse(myString, out temp)) { myValue = temp; } 我知道JavaScript只有一个数字类型。但是,由于我正在将值保存到数据库中,如何确保它是十进制的?在C语言中

我正在开发一个应用程序。我正在使用JavaScript将值保存到数据库中。我的数据库表中有一列包含十进制值。它可以与一些旧的C代码配合使用。事实上,在C中,我会这样做:

decimal? myValue = null;

decimal temp = 0;
if (Decimal.TryParse(myString, out temp)) {
  myValue = temp;
}
我知道JavaScript只有一个数字类型。但是,由于我正在将值保存到数据库中,如何确保它是十进制的?在C语言中,我知道浮点基本上是32位的值,Double基本上是64位的值,Deciml基本上是128位的值。但是,我不确定如何将其转换为JavaScript

有人能提供一些见解吗


谢谢

您可以像下面这样检查javascript中的小数:

var dec = 3.14;
if(typeof dec == "number" && (dec+'').indexOf('.')!=-1){
   var myvalue = dec;
}

请注意,如FelixKling所述,上述数字在5.00等数字上会失败,因为小数在转换为字符串时丢失

您必须使用与数据库对话时使用的语言进行检查。如果是javascript,您不必做任何检查,因为正如您自己所说,所有数字都是浮点数。所以,如果你使用的语言有小数,只需转换从JS得到的值。那么,5.00不会被视为小数?@FelixKling有可能的解决方案吗?顺便说一句,谢谢你提醒我,我认为测试一个数字是否是十进制与实际问题无关。如果只是在JS中测试它,那么您的答案是有道理的,但是看起来OP必须确保值的数据类型,这取决于OP用于与DB接口的语言。这感觉像是一个XY问题…不,保留它直到OP提供更多信息。而且,这只是我的观点@费利克斯克林会服从fb的命令,长官