jjzjj

windows - 文件创建时间的准确性是多少?

我想同时进行一些测量和视频录制。重要的是我可以在测量后对齐它们。我的想法是以毫秒为单位获取视频的创建时间,然后为每一帧添加1/fps毫秒,然后查找最接近该计算时间的测量值。如果我使用C#并使用CreationTime-property在录制的视频中,我应该能够进行同步,不是吗?CreationTime有多好?我需要大约60毫秒的精度... 最佳答案 当文件写入驱动器时,FAT驱动器上的文件时间戳四舍五入到最接近的两秒(偶数)。当文件写入驱动器时,NTFS驱动器上的文件时间戳四舍五入到最接近的100纳秒。TimeStampsChang

windows - "Calculator bug"是代码问题吗?

我在很多博文中看到过这个错误:http://atifsiddiqui.blogspot.com/2010/11/windows-calculator-bug.html这个错误是代码错误还是数学不精确?我想知道它是否真的是一个错误,它是如何多年未被发现的?我应该注意什么以确保它不会在我的自定义计算器程序中发生。 最佳答案 是的,这是一个错误。它有技术解释(外行人很难接受)这一事实并不能免除它是一个错误。如果这不是错误,那么您要么争辩说-正如我们有时所做的那样-“这是一个功能”,或者它是系统的限制。要解决此问题,我建议您将每个结果四舍五

c# - 四舍五入

我有这个“科学应用程序”,其中Single值在显示在UI中之前应该四舍五入。根据thisMSDNarticle,由于“精度损失”,Math.Round(Double,Int32)方法有时会出现“意外”行为,例如将2.135四舍五入为2.13而不是2.14。据我了解,此问题与“银行家四舍五入”无关(参见示例thisquestion)。在应用程序中,显然有人选择通过在舍入之前将Single显式转换为Decimal来解决此问题(即Math.Round((Decimal)mySingle,2))改为调用Math.Round(Decimal,Int32)重载。除了可能出现的二进制到十进制转换问题

c# - 如何将数字四舍五入

我有像floatnum=(x/y)这样的变量;每当num给出像34.443这样的结果时,我需要对结果进行四舍五入。那么如何在C#中做到这一点呢? 最佳答案 使用Math.Ceiling:Returnsthesmallestintegergreaterthanorequaltothespecifiednumber请注意,这适用于double,因此如果您想要float(或整数),则需要强制转换。floatnum=(float)Math.Ceiling(x/y); 关于c#-如何将数字四舍五入

c# - Math.Round 不保留尾随零

我需要将所有值四舍五入到小数点后两位。所以1.401应该四舍五入到1.40,但是Math.Round(value,2)四舍五入到1.4。如何强制尾随零? 最佳答案 1.4与1.40相同-您只是想以不同的方式显示它。调用ToString时使用格式字符串-如value.ToString("0.00") 关于c#-Math.Round不保留尾随零,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

C# - 将十进制转换为 int32

我有以下代码:inta=Convert.ToInt32(4.5m);intb=Convert.ToInt32(5.5m);Console.WriteLine(a);Console.WriteLine(b);这是输出:46为什么Convert.ToInt32将十进制值舍入到最接近的偶数? 最佳答案 Convert使用四舍五入或银行四舍五入:ThebehaviorofthismethodfollowsIEEEStandard754,section4.Thiskindofroundingissometimescalledroundingt

c# - 在 Paypal 中进行货币转换四舍五入的正确方法?

我正在构建一个与paypal集成的电子商务网站。我们采用多种货币,所以我想确保(出于会计原因)我正确地执行了货币换算的任何数学运算。在乘以货币转换*原始货币后,我总是在小数点后得到很多尾随数字。有没有标准的方法来做到这一点?我应该截断还是舍入?我是否需要多次舍入,以防舍入1/1000小数会影响舍入1/100小数?我应该做这样的事情吗:Math.Round(Math.Round(x,3),2)我一直无法找到有关如何完成此操作的有用信息(希望美国和欧洲相同)。 最佳答案 您应该使用Math.Round(x,2,MidpointRound

c# - 执行 pl/sql 查询时出现溢出错误

当我使用我的C#代码[通过存储过程]运行pl/sql查询时,出现错误:我该如何解决?请指教。注意:我在代码中为providerSpecificTypes传递了false。ErrorMessage:System.Data.OracleClient.OracleException:OCI-22053:overflowerroratSystem.Data.Common.DbDataAdapter.FillErrorHandler(Exceptione,DataTabledataTable,Object[]dataValues)atSystem.Data.Common.DbDataAdapte

c# - 将日期时间削减/舍入为一个整体,即小时/天?

是否有某种数学方法可以将DateTime缩短为精确的小时、天左右?类似于将小数舍入为int。期间.日期如果原始值为2011-01-0113:00:00,则最终值为2011-01-0100:00:00如果Period.Hour如果原始值为2011-03-1113:32:00,则最终值为2011-03-1113:00:00我在想下面这样的事情。这当然可以正常工作,但是range-array无论如何都会在稍后迭代。如果我可以直接在该迭代而不是它自己的迭代上进行计算,那就更好了。但是someType不能放入该迭代中(它取决于someType)。if(someType==Period.Day)r

c# - 将数字四舍五入,使其可以被 5 整除

我想对一个数字(十进制)进行四舍五入,使其可以被5整除。比如我有几个数和四舍五入后的数:NumberRounded0.453.457.310我可以使用ceil将此double转换为int并使用while循环将它们转换为下一个5的倍数,但我想知道是否有任何聪明的方法可以实现这一点。谢谢。 最佳答案 您可以先除以5,然后使用Math.Ceiling舍入值。之后,你可以再次乘以5。introunded=(int)Math.Ceiling(Number/5)*5 关于c#-将数字四舍五入,使其可