在数据库显示列中,“value”为0.06,数据类型为decimal(18,2)。
如何在值为6的文本框值中显示不是0.06?
我尝试将格式更改为{0}但未成功。如果使用转换,我该如何转换它?
<input type="text" runat="server" title="value" id="value" name="value"/>
protected string r_value = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (String.Format("{0}",Request.Params["value"]) != null) r_value = String.Format("{0}",Request.Params["value"]);
if (!IsPostBack)
{
list_Detail();
}
}
private void list_Detail()
{
try
{
BizeValue biz = new BizeValue();
DataSet ds = biz.SPValue(r_ven);
if (ds.Tables[0].Rows.Count > 0)
{
DataRow row = ds.Tables[0].Rows[0];
value.Value = String.Format("{0}", row["value"]) != null ? String.Format("{0}", row["value"]) : "";
}
}
catch (Exception ex)
{
base.scriptAlert("Raised Exception");
}
}
答案 0 :(得分:2)
如何在值为6的文本框值中显示不是0.06?
如果您尝试将0.06转换为整数,则得到0。
听起来你正试图将0.0到1.0范围内的十进制值转换为0到100范围内的百分比。只需将十进制值乘以100,然后再转换为整数。
答案 1 :(得分:0)
如果要将字符串强制转换为Integer意味着可以使用Int.TryParse()。但对于0.06,它将返回值为0。
答案 2 :(得分:0)
我建议声明变量。One
用于将数据库中的值转换为数字并乘以100并将One
转换为字符串并将其保存在Two
或显示中。
例如:
decimal a;
string b;
a = decimal.Parse(<Value>)
a = a*100
b = a.ToString()