当前位置: 首页 > 知识库问答 >
问题:

带十进制阈值的字符串将float上舍入为int

龚铭
2023-03-14

我正在计算时间,这是浮动变量,然后我将浮动转换为只有2个小数点,然后将它传递给一个字符串变量。 但是,我不要求将浮点数转换为小数点,而是将浮点数四舍五入为整数。 我如何实现这一点?

例如,如果定时器是>; 26.50F,则最终定时器应为27。

还有,我们可以手动设置阈值吗? 阈值是小数点后的值吗? 然后脚本决定整数属于哪个数字? 例如,我将阈值设置为。25到。99

float 1 = 23.26 = 24
float 2 = 17.25 = 18
float 3 = 19.24 = 19
public float timer;
public string timer_string;

void Update()
{
    timer += Time.deltaTime;
    timer_string = timer.ToString("F2"); //decimal upto 2 places
    timer_string = timer.ToString("F0"); //is this the way? Since it does not round up
}

共有1个答案

缑修齐
2023-03-14

将下一个整数四舍五入称为“天花板”,即Math.coread。 所以我怀疑你想要的是:

timer_string = Math.Ceiling(timer).ToString(...);

(供您选择格式...)

如果您实际上指的是其他形式的舍入,那么使用Math.Round(timer,MidpoIntrounding.YourChoiceHere)而不是Math.天花板; 例如AwayFromZeroTopositiveInfinity等。

 类似资料:
  • 问题内容: 如何将 float64 值转换为Golang的 十六进制字符串 ?(IEEE 754格式) 样本:-561.2863至0xc40c5253 问题答案: 用途: 游乐场:http : //play.golang.org/p/WEZEtCU1Zl。

  • 问题内容: 我想将十六进制字符串转换为二进制字符串。例如,十六进制2是0010。下面是代码: 但是,这仅适用于十六进制0-9;它不适用于十六进制A-F,因为它使用。谁能增强它? 问题答案: 您需要告诉Java int是十六进制的,如下所示:

  • 问题内容: 我有一个表,该表的列为’Faktor’(varchar(50)),其中包含以下表达式: 不,我正在寻找一种执行选择的方式 它应该返回带有值的十进制类型的列 问题答案: 我会选择CLR,类似这样(它具有在基于SET的操作中工作的优势,而动态sql替代项(即Abduls答案)则不会): 编辑: CLR dll(Visual Studio 2008)的源代码发布在这里:http : //ww

  • 问题内容: 如何在Java中将十六进制字符串转换为单精度浮点数? 例如,如何实现: 浮点数f = HexStringToFloat(“ BF800000”); // f现在应包含-1.0 我问这个是因为我尝试过: 但是我得到以下异常: java.lang.NumberFormatException:对于输入字符串:“ bf800000” 问题答案:

  • 问题内容: 我发现将十六进制转换为二进制的方式如下: 尽管此方法适用于较小的十六进制数,但以下十六进制数 抛出一个 因此,我编写了以下似乎可行的方法: 上面的方法基本上接受十六进制字符串中的每个字符,并在必要时将其转换为等价的二进制零,然后将其连接到返回值。这是执行转换的正确方法吗?还是我忽略了一些可能导致我的方法失败的事情? 在此先感谢您的协助。 问题答案: 会做你想要的。只需传递2的基数即可。

  • 问题内容: 我需要将二进制字符串转换为十六进制字符串,但是我有问题。我通过这种方法将二进制字符串转换为十六进制字符串: 没关系!但是我丢失了字符串左侧的零。例如: 该方法返回此:123456789ABCDEF,但我想返回此: 00000123456789ABCDEF 问题答案: 而不是我将使用解析值,然后以所需的宽度(在您的示例中为21)输出值:

  • 问题内容: 我也想将我的二进制(在字符串中)转换为十六进制字符串,这只是一个程序片段,因为该程序只是另一个更大程序的一部分: 问题是我不知道填充是否有效,但是我确定该程序返回了二进制字符串的错误十六进制转换,我正在尝试这样做: http://www.wikihow.com/Convert-Binary-to- Hexadecimal PS:我需要实现它(不使用任何内置函数) 问题答案: 如果您不必

  • 问题内容: 我写了一些代码将十六进制显示字符串转换为十进制整数。但是,当输入类似100a或625b(带有字母的东西)时,我得到了这样的错误: java.lang.NumberFormatException:对于输入字符串:java.lang.Integer.parseInt(未知源)处的java.lang.NumberFormatException.forInputString(未知源)处为“ 1