java - 截断为整数...以及 if 语句确定它是否不是整数

标签 java if-statement decimal truncate

我们的教授。不久前给了我们这个伪代码......而我在这部分上遇到了困难

伪代码

数组索引值为 14,有 14 个字符串名称

Shell_Sort(Arr,N)

{ 如果(N=1)那么

{

退出

}

将间隔设置为 N

while(间隔不为1)

{

将间隔设置为 ((间隔/3)+1) 如果(间隔不是整数)那么<---------这是我遇到问题的部分

{

截断间隔<------------ 这里我怎样才能将间隔截断为整数?

}

将开始设置为 1

while(开始 <= 间隔)

{

排序()

增量开始

}

}

}

排序()

{

将 Unsrt_Indx 设置为(开始 + 间隔)

while(unsrt_Indx <= N)

{

if (Arr[Unsrt_Indx - 间隔] > arr[unsrt_Indx] then

{

将 str_indx 设置为 unsrt_indx

将温度设置为 arr[srt_indx]

while((str_indx >start && (arr[str_indx-Interval] > temp))

{

将 arr[set_indx] 设置为 arr[str_index-interval]

将 str_indx 设置为(crt_index - 间隔)

}

将 arr[str_indx] 设置为临时

}

将 unsrt_indx 设置为(unsrt_indx + 间隔)

}

}

如何使用 if 语句来确定它是否不是整数?

我该如何使用截断? 将其截断为三两。

ex.
4.6666666666667
how can i truncate it into
4.67
4.6
4

类似的东西。

最佳答案

如果您知道自己正在处理一个号码,您可以这样做:

if(x == (int)x) {
    //x is an int (ie: a whole number)
}

否则,如果您的数字是字符串,则可以使用 try/catch 语句,在该语句中对字符串执行 Integer.parseInt() 。如果 parseInt() 成功,那么您正在处理一个 int。否则,您可能会捕获 NumberFormatException。在这种情况下,转换不成功,并且您处理的不是 int。

您需要查看 Math.floor() 来进行截断。

关于java - 截断为整数...以及 if 语句确定它是否不是整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15221848/

相关文章:

javascript - 转换 JavaScript 二进制字符串并再次转换回来是不相等的

c# - 将实际的十进制值作为属性的参数(例如 xUnit.net 的 [InlineData]

java - 重命名后无法删除文件(文件已打开)

java - 运算符在 Java 中如何工作以及为什么此方法返回 null?

php if (not this or not this) {做某事}

c++ - 如何仅使用双向分支找到最大的数字

php - 使用 number_format 将发布的值转换为十进制

java - 从 Arraylist 中提取不同字符串的更快方法

java - 如何在java中使用neuroph创建一个简单的神经网络

java - 如何使用Java从两个Excel表中使用JDBC读取数据?