|
Неверное округление
|
|||
---|---|---|---|
#18+
Всем доброго времени суток. Уже обращался к вам за помощью вот снова неполадки. Имеется программа для ввода путевых листов написанная в Power Builder 9.0, база данных Sybase ASA 7.0.3.2054. При обработке следущего скрипта в отчете кое-где не верно округляются числа. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75.
Там где 60.00 я не пойму для чего после 60 нули. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 09:59 |
|
Неверное округление
|
|||
---|---|---|---|
#18+
d.v.kramarenko, нули после запятой (точки) определяет тип данных после операции деления. Для примера посмотрите разницу в результатах для следующих запросов 1. select 1/3 2. select 1/3.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 11:33 |
|
Неверное округление
|
|||
---|---|---|---|
#18+
Nashville, ясно, спасибо! Вот только с округлением пока что так и не дал ума. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 11:49 |
|
Неверное округление
|
|||
---|---|---|---|
#18+
d.v.kramarenko, Вы имеете ввиду Код: sql 1. 2.
А что здесь не понятно? Посмотрите на Sybooks Online описание ROUND() и FLOOR() или CEILING(). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 12:55 |
|
Неверное округление
|
|||
---|---|---|---|
#18+
Nashville, Про округление все понятно. Просто 20.10*0,95=19,095 при округлении до двух по идее должно быть 19,10 а получается 19,09. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 16:15 |
|
Неверное округление
|
|||
---|---|---|---|
#18+
Nashvill, numeric ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 16:17 |
|
Неверное округление
|
|||
---|---|---|---|
#18+
d.v.kramarenko, Запрос Код: sql 1.
выдает результат 19.1, поэтому смотрите какой тип имеют поля n_mid и k. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 16:41 |
|
Неверное округление
|
|||
---|---|---|---|
#18+
Nashville, "cor_coefficient"."coeff_corr_temp" as k1; "cor_coefficient"."coeff_corr_use" as k2; (select ("dba"."way_length"."coeff_corr") from "dba"."way_length" where ( "dba"."load_point_ref_book"."id_load_point" = "dba"."way_length"."id_load_point" ) and ( "dba"."unload_point_ref_book"."id_unload_point" = "dba"."way_length"."id_unload_point" ) and ( "dba"."rock_type_ref_book"."id_rock" = "dba"."way_length"."id_rock" ) and ("dba"."way_length"."middle_distance"=dist) and("dba"."way_length"."middle_distance"=dist) and ( ( "dba"."way_length"."date_input_length" >= DATEFORMAT("waylist_tech"."date_input_tech",'yyyy-mm-01') ) )) as k3; k1*k2*k3 as k Вроде все проверял Сейчас уверять не буду, но вроде все поля numeric. Перепроверить смогу только завтра. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 18:04 |
|
Неверное округление
|
|||
---|---|---|---|
#18+
Ну как так-то? Попробовал заменить round на floor(n1*100+0.500001)/100. Все равно без толку. Где нормально округляет, а где нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2013, 03:32 |
|
|
start [/forum/topic.php?fid=55&fpage=11&tid=2009963]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
120ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 245ms |
total: | 454ms |
0 / 0 |