System.FormatException输入字符串的格式不正确

usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingS... using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
namespace WebApplication3
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Message.Text = CalculateTotal(false).ToString("c");
}
}

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
Message.Text = CalculateTotal(CheckBox1.Checked).ToString("c");
}
double CalculateTotal(bool Taxable)
{
double Result = 0;
foreach (var c in this.form1.Controls)
{
if (c is System.Web.UI.WebControls.TextBox)
{
Result = (Result + Convert.ToDouble(((TextBox)(c)).Text));
}
if (Taxable)
{
Result = (Result + (Result * 0.05));
}
}
return Result;
}
}
}

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication3._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>

</div>
苹果:<asp:TextBox ID="TextBox3" runat="server">5</asp:TextBox>
<br />
香蕉:<asp:TextBox ID="TextBox2" runat="server">6</asp:TextBox>
<br />
橙子:<asp:TextBox ID="TextBox4" runat="server">9</asp:TextBox>
<br />
相加小计:<asp:TextBox ID="Message" runat="server" Height="16px"></asp:TextBox>
<br />
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True"
oncheckedchanged="CheckBox1_CheckedChanged" Text="内含5%的营业税" />
</form>
</body>
</html>
Result = (Result + Convert.ToDouble(((TextBox)(c)).Text));
这句不对,不知道怎么回事……
展开
 我来答
业庆母恬畅
2019-09-17 · TA获得超过3858个赞
知道大有可为答主
回答量:3046
采纳率:35%
帮助的人:259万
展开全部
这是因为输入的字符串不能够转成doble所导致的。如输入了a23b这样的字符串,是无法转换成dobule的。
杞懋尹永康
2019-11-11 · TA获得超过3831个赞
知道大有可为答主
回答量:3203
采纳率:32%
帮助的人:205万
展开全部
txtContent.Text
这个是否取到值,最好加个.Trim()
把空格去了.
where
Stdid
=
'"
+
int.Parse(Request.QueryString["Stdid"])+
"'",
Stdid
是否是int类型,是就不要加单引号
不是就
Request.QueryString["Stdid"].ToString()试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
amwih001
2010-07-19 · TA获得超过2.3万个赞
知道大有可为答主
回答量:1529
采纳率:100%
帮助的人:664万
展开全部
相加小计:<asp:TextBox ID="Message" runat="server" Height="16px"></asp:TextBox>

换成

相加小计:<asp:TextBox ID="Message" runat="server" Height="16px" Text="0"></asp:TextBox>

或者

在程序里面判断下TextBox的Text为空的时候则不加到Result里面去
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吴蕙孝优乐
2019-04-08 · TA获得超过3832个赞
知道大有可为答主
回答量:3223
采纳率:26%
帮助的人:493万
展开全部
查看你的System.Convert.ToDecimal部分
你是不是把字符串给它了
比如
System.Convert.ToDecimal("Leon382");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
漆卫元雪翎
2019-10-08 · TA获得超过3555个赞
知道小有建树答主
回答量:3049
采纳率:25%
帮助的人:168万
展开全部
e.CommandArgument不是数字,所以不能转换为int,因此报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式