【原创】MFC中用CString去除小数点后面多余的0

 这段代码是我在编写计算器小程序中遇到的一个问题的解决办法,遇到的问题是输出结果时数据末尾有多余的0,例如输出了4.200000,需要把结果变成4.2。下面是解决办法:

  利用while循环,用mid函数从字符串末尾往前依次提取字符,只要字符为0,就用left函数把它删除,然后length长度递减,直到末尾字符不为0,跳出循环。

void CcalculatorDlg::RemoveZeroAndPoint(CString str)
{
    m_edit.GetWindowTextW(str);
    int length = str.GetLength();

    //去除多余的0
    while (str.Mid(length - 1, 1) == "0")
    {
        str = str.Left(length - 1);
        length--;
    }

    //去除多余的小数点
    if (str.Mid(length - 1, 1) == ".")
    {
        str = str.Left(length - 1);
    }

    SetDlgItemText(IDC_EDIT1, str);
    SetDlgItemText(IDC_EDIT2, str);
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值