Я заметил, что метод formline в Perl 5 имеет какое-то странное действие. Если десятичное значение больше 0,5, оно округляется. Если десятичное значение меньше 0,5, оно округляется вниз. Но когда десятичное значение является точным 0,5, мы обычно должны округлять, но форма линии округляет значение.Perl5 formline округляет точное значение 0.5 не округляет
Кто-нибудь знает, если это ошибка или предопределенная? Благодарю.
Спасибо за ваше объяснение. С небольшим тестом, что я обнаружил, что formline также использует круглые-четные. Спасибо! – hugobetty
Пожалуйста, помогите проверить ниже тестовый код и помочь ответить, если есть способ, которым мы можем управлять тем, какой метод округления использовать. Благодарю. '#!/Usr/bin/perl my $ format = '@ #######'; my $ var1 = '15334.5000'; my $ var2 = '15334.50001'; my $ var3 = '15335.5000'; my $ var4 = '15336.5000'; formline $ format, $ var1; print "var1 = $^A \ n"; $^A = ''; formline $ format, $ var2; print "var2 = $^A \ n"; $^A = ''; formline $ format, $ var3; print "var3 = $^A \ n"; $^A = ''; formline $ format, $ var4; print "var4 = $^A \ n"; ' – hugobetty
Вы можете округлить значение, прежде чем передавать его в форму – ikegami