我想通过删除小数部分来舍入数字数据。我不想使用“ sprintf ”。在perl中还有其他方法吗?请帮我解决一下这个。 例如, 如果该值为4.5则输出应为5,4.2为其4和4.7分别为5。 请帮我解决这个问题。
答案 0 :(得分:0)
您可以使用int
关键字执行此操作。
my $value = 4.5;
print int( $value + 0.5 );
但是,int
perl文档警告不要使用int
进行舍入:
返回EXPR的整数部分。如果省略EXPR,则使用$ _。 你不应该使用这个函数进行舍入:一个因为它 截断为0,两个因为机器表示 浮点数有时会产生 违反直觉的结果。例如," int(-6.725 / 0.025)"产生-268而不是正确的-269;该' S 因为它更像是-268.99999999999994315658。 通常," sprintf"," printf"或" POSIX :: floor"和 " POSIX ::小区"函数将比int()更好地为你服务。