把金额截取(truncate)到角的函数.
来源:互联网 发布:pg美人网 淘宝 编辑:程序博客网 时间:2024/06/06 05:54
通过对double型金额先multiply 10转整型,再divide 10来truncate到角是不正确的,因为,0.19999指的是0.20000而不是0.19,下面是为了解决这个问题写的代码段
// ConsoleApplication1.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <stdio.h>#include <iostream>using namespace std;/*把金额截取(truncate)到角的函数.Author:KagulaDate:2015-11-27Environment:VS2010SP1,VS2013Update5测试用例:51.19999返回51.2051.1999返回51.100返回0*/double degrade2tenth(double dbSrc){char buf[16];memset(buf, 0, sizeof(buf));//4是万分之一的误差,2是百分之一的误差.//vs2010没有round函数,可以用下面的方法来四舍五入.sprintf_s(buf, "%.4f", dbSrc);buf[strlen(buf) - 3] = '0';buf[strlen(buf) - 2] = '\0';return atof(buf);}int _tmain(int argc, _TCHAR* argv[]){{double dbSrc = 51.19999;cout << degrade2tenth(dbSrc) << endl;}{double dbSrc = 51.1999;cout << degrade2tenth(dbSrc) << endl;}{double dbSrc = 0;cout << degrade2tenth(dbSrc) << endl;}cin.get();return 0;}
0 0
- 把金额截取(truncate)到角的函数.
- 对smarty 字符串截取函数 truncate 的改进 V2
- 文件的截取:truncate方法
- 把大写的人民币金额转化为数字,不考虑角分,只精确到圆(整)
- 将金额转换到大写数字的C#函数
- 将金额转换到大写数字的函数
- VB实现数字到中文金额的转换函数
- VB实现数字到中文金额的转换函数
- 把金额转换成汉字大写金额的Java代码
- JavaScript把阿拉伯数字的金额转换成大写金额
- 把货币金额转换成大写的函数(水晶报表BASIC语言版)
- 把货币金额转换成大写的SQL自定义函数(SQL Server版)
- JS把数字金额转换成中文大写数字的函数
- smarty truncate截取字符串
- 改进smarty的truncate让他支持中文,截取中文
- 修改Smarty的变量调节器truncate无乱码截取中文
- 修改Smarty的变量调节器truncate无乱码截取中文
- 关于Smarty插件中truncate截取中文乱码的解决方案
- JSP/SERVLET入门教程--Servlet 使用入门
- IOS开发中联系人字母排序
- The operation couldn't be completed (LaunchServicesError error 0.)解决办法
- --Android主题和样式之系统篇(下)
- Gradle学习笔记(一)
- 把金额截取(truncate)到角的函数.
- java生成excel用jxl包
- Objective—C实现UICollectionView中UICollectionViewCell的重排实现
- 多线程执行
- POJ 2481 Cows 【树状数组】
- 边栏下载客服区设计
- 登陆页面跳转到带TabbarControl的首页
- Android-类qq功能(四)
- Akeron,博客第一天