摘要:練習題 天分時秒轉換
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace day
{
public partial class day : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int a, b, c, d, f;
a = Convert.ToInt32(TextBox1.Text);
b = a / 86400;
c = (a % 86400) / 3600;
d = ((a % 86400) % 3600) / 60;
f = (((a % 86400) % 3600) % 60);
if (b > 0)
{
Label1.Text = b.ToString() + "天" + c.ToString() + "時" + d.ToString() + "分" + f.ToString() + "秒";
}
else if (b < 0 || c > 0)
{
Label1.Text = c.ToString() + "時" + d.ToString() + "分" + f.ToString() + "秒";
}
else if (c < 0 || d > 0)
{
Label1.Text = d.ToString() + "分" + f.ToString() + "秒";
}
else if (d < 0 || f > 0)
{
Label1.Text = f.ToString() + "秒";
}
}
}
}
!!!!縮減程式碼
三元運算子
符號 ?: 用法 a ? b : c
特別用法:a ? b : c ? d : e
運算的順序為 a ? b : (c ? d : e)
而不是 (a ? b : c) ? d : e
這邊要特別小心,不要搞錯運算的順序了!
程式碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace day
{
public partial class day : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
int a, b, c, d, f;
a = Convert.ToInt32(TextBox1.Text);
b = a / 86400;
c = (a % 86400) / 3600;
d = ((a % 86400) % 3600) / 60;
f = (((a % 86400) % 3600) % 60);
Label1.Text=(b>0) ? b.ToString() + "天" + c.ToString() + "時" + d.ToString() + "分" + f.ToString() + "秒":
( ( (c > 0) ? c.ToString() + "時" + d.ToString() + "分" + f.ToString() + "秒" :
((d > 0) ? d.ToString() + "分" + f.ToString() + "秒":
((f > 0) ? f.ToString() + "秒" :"輸入錯誤" ))));
}
}
}