请教这个计算器中的百分号与分数计算的代码。

shared2012 2012-06-07 05:50:21
关键部分代码:

public partial class frmStandCalculator : Form
{
public float number1 = 0;//存储前一个操作数;
public bool flag = false;//标记单击了操作符没有,false为还未击操作符,ture为单击了操作符
public char doflag = '+';//初始化操作符,单击了操作符时存储操作符号
public bool pointflag = false;//标志是否单击了小数点;false为未击,true为已经单击;
public float number2 = 0;//存储单击=号时TextNum的值
public int n = 0;//记录是击了=键还是未击。
public float M = 0;
public string COPYM = "";

..........................................
..........................................
..........................................

//开平方根:
private void btnSqrt_Click(object sender, EventArgs e)
{
if (TxtNum.Text.Trim() != "")
{
float tempnumber = (float)Math.Sqrt(float.Parse(TxtNum.Text));//Math.Sqrt()结 //果为double型,所以要用float强制转换
TxtNum.Text = tempnumber.ToString();
}

flag = true;
}
//百分号:
private void btnPercent_Click(object sender, EventArgs e)
{

}
//分数:
private void btnFraction_Click(object sender, EventArgs e)
{

}
}



...全文
615 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shared2012 2012-06-10
  • 打赏
  • 举报
回复
请问代码怎样写?
shared2012 2012-06-10
  • 打赏
  • 举报
回复
自行解决了:
//百分号:
private void btnPercent_Click(object sender, EventArgs e)
{
TxtNum.Text = (float.Parse(TxtNum.Text) / 100).ToString();

pointflag = true;
}


//倒数:
private void btnFraction_Click(object sender, EventArgs e)
{
TxtNum.Text = (1/float.Parse(TxtNum.Text)).ToString();

pointflag = true;
}


若有问题请指出!
屌絲來襲 2012-06-09
  • 打赏
  • 举报
回复
就是把数换成百分数
比如 输入50+25%
就等于 50+50*25%=62.5

如果直接50+%
就等于50+50*50%=75
shared2012 2012-06-09
  • 打赏
  • 举报
回复
有朋友来帮忙解答下么?
shared2012 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

% 就是
var result = 输入的第一个数 % 输入的第二个数;
1/x
var result = 1 / 输入的第一个数;
[/Quote]

//参考:Site:http://apps.hi.baidu.com/share/detail/1192593

private void Button_Percent_Click(object sender, EventArgs e)
{
number = Convert.ToString(Convert.ToDouble(TextBox.Text) / 100);
TextBox.Text = number;
number = "";
}

private void Button_Reciprocal_Click(object sender, EventArgs e)
{
if (Convert.ToDouble(TextBox.Text) ==0)
{
this.TextBox.Text = "error";
}
else
{
number2 = Convert.ToDouble(TextBox.Text);
number = "";
TextBox.Text = Convert.ToString(1 / number2);
}
}
__天涯寻梦 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:

% 就是
var result = 输入的第一个数 % 输入的第二个数;


这个有问题吧? % 不是取余??(之前学C时学的)

还有,不只这么简单吧。不是还涉及数据类型转换的么?
[/Quote]
按了 % 后是让屏幕显示 "输入的第一个数 * 输入的第二个数 / 100"
shared2012 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

% 就是
var result = 输入的第一个数 % 输入的第二个数;
[/Quote]

%

模数运算符 (%) 计算第二个操作数除第一个操作数后的余数。 所有数值类型都具有预定义的模数运算符。
shared2012 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

% 就是
var result = 输入的第一个数 % 输入的第二个数;
[/Quote]

这个有问题吧? % 不是取余??(之前学C时学的)

还有,不只这么简单吧。不是还涉及数据类型转换的么?
__天涯寻梦 2012-06-07
  • 打赏
  • 举报
回复
% 就是
var result = 输入的第一个数 % 输入的第二个数;
1/x
var result = 1 / 输入的第一个数;

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧