C# Math.Round()函数问题
Math.Round ()在四舍五入时有个问题:
Math.Round(2.5,0) = 2;
Math.Round(3.5,0) = 4;
2.5应该等于3才对!
在ASP中也存在这个问题,不过ASP中还有个FormatNumber可以用,但目前还不知道怎么使用?
解释:
Math.Round()准确的说,这个函数不是四舍五入,而是四舍六入五凑偶,就是说小于4或大于6的该舍该入是没有争议的,而5处在正中间,如果四舍五入则会造成数据的整体偏差,所以采取的原则是:如果舍入位为5,则舍入后最后一位为偶数,这是国际惯例。
现在做的项目都要5入,解决方法:
目前做法是:
如:(3.45*10+0.5)取整,再除以10
相关推荐
-
操作XML文档遇到的XMLNS问题及解决方法 (C# 和 PHP)
而昨晚在使用 XPATH 的时候, 遇到一个问题, 改了一个晚上才搞定, 差点没吐血. 果然基础知识要掌握扎实啊!! 假设有以下一份 XML 文档: 我们要获取所有歌曲的标题, 一般是使用以下的 XPATH 表达式: 复制代码 代码如下: /playlist/trackList/track/title 但是匹配的结果会让你非常失望, 你会发现什么也得不到. 于是我在这个问题上卡了好几个小时, 最终万能的 Google 告诉了我答案. 在第二行 playlist 那个节点, 有一个 XMLNS 属
-
C# IsDefined的问题
在.NET 4.0(当然也包括4.0以前的版本)下,用反射判断某个方法是否运用了自定义Attribute时,可以通过调用MethodInfo的IsDefined()方法进行确认.当然,IsDefined()方法事实上定义在MethodInfo的父类MemberInfo中,但它仅仅被定义为抽象方法,真正的实现是在MethodInfo的子类DynamicMethod中.调用方式如下所示: 复制代码 代码如下: methodInfo.IsDefined(typeof(MyAttribute), fal
-
c# 解决IIS写Excel的权限问题
具体配置方法如下: 1:在服务器上安装office的Excel软件. 2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击
-
asp.net(C#)跨域及跨域写Cookie问题
解决方法是: 复制代码 代码如下: //www.B.com里的被调用的页面需要写P3P头,从而解除IE对写Cookie的阻止 context.Response.AddHeader("P3P", "CP=CAO PSA OUR"); //www.A.com里通过ajax调用www.B.com里的内容时,是跨域访问,需要使用jsonp,为配合其工作需要添加下面两句,生成jsonp返回 context.Response.ContentType = "text/p
-
C#调用C++版本dll时的类型转换需要注意的问题小结
C#对于C++的dll引用时,经常会遇到类型转换和struct的转换 1. C++ 里的Char类型是1 个字节,c#里的Char是两个字节,不可以对应使用:可使用c#里的byte对应 2. structType temp = (structType)Marshal.PtrToStructure(IntPtr, typeof(structType));说明:此方式转换只针对包含c++基本类型的结构体,如果包含指针数组的结构体,使用泛型函数比较方便. 3. [StructLayoutAttribu
-
C# WinForm程序完全退出的问题解决
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出: 2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出: 3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题: 4.System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制
-
C#中Response.Write常见问题汇总
本文实例汇总了C#中Response.Write的常见问题,分享给大家供大家参考之用.具体分析如下: 问题一: Response.Write 后连接Response.Redirect ,则Response.Write无法显示,直接跳转入Response.Redirect 的页面. 解决方式: Response.Write("<script languge='javascript'>alert('成功修改'); window.location.href='index.aspx'<
-
.net中前台javascript与后台c#函数相互调用问题
C#代码与javaScript函数的相互调用 问: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1答案如下: javaScript函数中执行C#代码中的函数: 方法一:1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2.在前台写一个js函数,内容为document.getElementById("
-
C# 连接Access数据时总报找不到dbo.mdb的问题
单步跟踪调试发现Connection中的连接字符串也是"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=local.mdb;",根本没有dbo.mdb的事.后来查过排查发现是schema的问题. SQL Server中有schema的概念所以我们一般都习惯写成dbo.xxxTable,所以如果你要是也在Access中这样写的话,就会报如上找不到dbo.mdb的问题.修改SQL语句,去掉dbo后,问题解决.
-
c#中多线程访问winform控件的若干问题小结
我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来解决这个问题,下面我将详细的介绍. 首先来看传统方法: 复制代码 代码如下: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender,
随机推荐
- php+mysql实现简单的增删改查功能
- java基于Des对称加密算法实现的加密与解密功能详解
- javascript宿主对象之window.navigator详解
- JS时间特效最常用的三款
- asp.net gridview强制换行
- 基于Python实现文件大小输出
- linux查看目录的四种方法(ls只显示目录)
- jsp、css中引入外部资源相对路径问题分析
- js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
- Javascript es7中比较实用的两个方法示例
- Java操作Ant压缩和解压文件及批量打包Anroid应用
- C#提高编程能力的50个要点总结
- C++中字符串以及数组和指针的互相使用讲解
- Nginx部署https网站并配置地址重写的步骤详解
- PHP常用正则表达式精选(推荐)
- Spring AOP的使用详解
- 正则表达式匹配括号外的符号及数据
- hbase-shell批量命令执行脚本的方法
- Java实现的微信公众号获取微信用户信息示例
- react-router4按需加载(踩坑填坑)