c语言float转换int,【已解决】C中double/float转int,小数部分四舍五入

c语言float转换int,【已解决】C中double/float转int,小数部分四舍五入问题 C 中 需要将一个 double 的值转换为 int 类型 解决过程 1 参考 去试了试 Math 的 Floor 和 Ceiling 已经 Convert Int64 和 Int32 测试结果见代码 privatevoidd doubletimeSt crl getCurTimeIn 09 329

【问题】

C#中,需要将一个double的值转换为int类型。

【解决过程】

1.参考:

去试了试Math的Floor和Ceiling,已经Convert.Int64和Int32,测试结果见代码:private void doubleToIntTest()

{

double timeStampDouble = crl.getCurTimeInMillisec(); //09.3293

Int64 timeStampInt64 = Convert.ToInt64(timeStampDouble);//09

//An unhandled exception of type ‘System.OverflowException’ occurred in mscorlib.dll

//Additional information: Value was either too large or too small for an Int32.

//Int32 timeStampInt32 = Convert.ToInt32(timeStampDouble);

int timeStampInt = (int)timeStampDouble; //-

double doubleFllor = Math.Floor(timeStampDouble); //09.0

double doubleCeiling = Math.Ceiling(timeStampDouble); //10.0

double doubleRound = Math.Round(timeStampDouble); //09.0

Int64 fllorInt64 = Convert.ToInt64(doubleFllor); //09

Int64 ceilingInt64 = Convert.ToInt64(doubleCeiling); //10

Int64 roundInt64 = Convert.ToInt64(doubleRound); //09

}

【总结】

1. 想要将C#中的double变量转换为int变量,可以用:

当double的数值不大的话,用Convert.ToInt32,或直接用(int)强制转换也可以了,不过强制转换的时候,即使出错,也不报错的,所以如果遇到数据溢出等问题,强制转换的结果就是错的了。

当double的数值超过int32的话,用Conver.ToInt64。

2.想要获得对应的小数四舍五入的话,直接通过Math.Round即可,但是注意得到的结果仍是double。

附:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222610.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午3:23
下一篇 2026年3月17日 下午3:24


相关推荐

  • NumPy之:数据类型对象dtype[通俗易懂]

    NumPy之:数据类型对象dtype[通俗易懂]之前讲到了NumPy中有多种数据类型,每种数据类型都是一个dtype(numpy.dtype)对象。今天我们来详细讲解一下dtype对象

    2022年6月9日
    98
  • python协程系列_python协程gevent

    python协程系列_python协程gevent协程协程(Coroutine),又称微线程,纤程。(协程是一种用户态的轻量级线程)作用:在执行A函数的时候,可以随时中断,去执行B函数,然后中断B函数,继续执行A函数(可以自动切换)

    2022年7月29日
    12
  • java打开dex文件_dex文件反编译工具(Dedexer)

    java打开dex文件_dex文件反编译工具(Dedexer)dedexer是AndroidDEX文件反汇编工具,目前网上唯一一个反编译dex文件的反编译工具。如果你用过ant编译java程序,那么编译Dedexer是一件非常简单的工作。该软件要求您的电脑要装有Java环境(进入下载jre.Java环境)才能正常使用dedexer与dexdump相比至少有3个优点一,不需要在android模拟器中运行。二,把dex文件按照java源代码package的目录…

    2022年6月27日
    31
  • 3种解法 – 实现字符串压缩

    3种解法 – 实现字符串压缩使用 临时变量 双指针法 Python 库函数 3 种解法 实现对字符串的压缩

    2026年3月16日
    2
  • 秒杀多线程第六篇 经典线程同步 事件Event

    秒杀多线程第六篇 经典线程同步 事件Event阅读本篇之前推荐阅读以下姊妹篇:《秒杀多线程第四篇一个经典的多线程同步问题》《秒杀多线程第五篇经典线程同步关键段CS》 上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的“线程所有权”特性所以关键段只能用于线程的互斥而不能用于同步。本篇介绍用事件Event来尝试解决这个线程同步问题。首先介绍下如何使用事件。事件Event实际上是个内核对象,它的使用非常方便。下面列出一些常用的函数。

    2022年7月15日
    15
  • mysql练习题及答案_mysql练习题及答案.doc

    mysql练习题及答案_mysql练习题及答案.docmysql练习题及答案mysql练习题及答案mysql查询语句练习题Sutdent表的定义字段名字段描述数据类型主键外键非空唯一自增Id学号INT10是否是是是Name姓名VARCHAR20否否是否否Sex性别VARCHAR4否否否否否Birth出生年份YEAR否…

    2026年1月17日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号