是否可以将字符串值转换为双精度?
例如:使用double数据类型显示0.00
正确吗?
现在,我要输出的是如果值或结果等于,0.00
那么该值应转换为连字符-
。
if (value == 0)
{
x = "-";
}
然后显示x应该再次转换为double,因为我使用double in Crystal Report
。
这是我的代码,给出错误。
TCPS = TotalCPS + PSAmount;
TAPPS = TotalAPPS + PSAmount2;
if (TCPS==0)
{
TCPS = Convert.ToDouble("-");
}
else if (TCPS > 0)
{
TCPS = TCPS + 0;
}
row["CPS"] = TCPS;
CPS
这是一个Double
数据类型,CPS
将显示该数据类型的值,这Crystal Report
就是为什么我需要输出Hypen-
而不是0.00
在报告中的原因。希望这可以为您提供更清晰的信息。谢谢
编辑:非常感谢你们!我已经想通了!这就是我所做的。
TCPS = TotalCPS + PSAmount;
TAPPS = TotalAPPS + PSAmount2;
if (TCPS==0)
{
row["CPS"] = "-";
}
else if (TCPS > 0)
{
row["CPS"] = string.Format("{0:N}", TCPS);
}
我将CPS的数据类型从双精度更改为字符串,这减轻了我的压力.. :)谢谢。
您可以执行以下操作:
string yourStr = "0.00";
double yourDouble;
if(double.TryParse(yourStr, out yourDouble) == false)
{
//Couldn't parse input as double. Handle this case
}
if(yourDouble == 0.00)
{
string x = "-";
}
或者,Convert.ToDouble
如果您知道输入将始终为双精度值,则可以使用:
string yourStr = "0.00";
double yourDouble = Convert.ToDouble(yourStr);
if(yourDouble == 0)
{
string x = "-";
}
编辑
你不可以做这个:
TCPS = Convert.ToDouble("-");
连字符不是a double
,而是a ,string
并且不能将其强制转换为双精度型。
您试图做的事是不可能的。您必须将带有连字符的字段转换为字符串字段,而不是报表中的双精度字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句