Posts: 4
Threads: 1
Joined: Feb 2012
Reputation:
0
Как взять дробную часть числа?
new Float:fFract = floatfract(3249.34); мне нужен Int
Есть допустим число 352.892,мне нужно взять 892
new number = 892; а не 0.892
Posts: 463
Threads: 8
Joined: Jun 2010
Reputation:
0
Необходимости использования данной функции не возникало, по сему знать о ней не знал. Просто взял и написал)
Posts: 790
Threads: 6
Joined: May 2011
Reputation:
0
учите математику:
Циклом умножаем число на 10, и проверяем что возвращает floatfract(f);. Когда вернет 0, значит вы получили дробную часть в целом виде
Posts: 463
Threads: 8
Joined: Jun 2010
Reputation:
0
А в моём искусно извращённом примере из "123.456" всегда вернёт "456" ^^
Добавить %.4f, и будет с большей точностью возвращать.
Posts: 463
Threads: 8
Joined: Jun 2010
Reputation:
0
Ну почему же от безысходности, хоть и небольшая нагрузка на мосх, во время написания своего способа (пускай хоть и изобретение колеса) всегда полезна.
Posts: 223
Threads: 4
Joined: Nov 2009
Reputation:
0
можно в левой части дроби делать 0.
Float:fract = number - floatround(number, floatround_tozero);
после этого число всегда будет иметь вид: 0.<дробная часть>
затем первые 2 символа отрезать и все.
Posts: 5,763
Threads: 19
Joined: Jul 2008
Reputation:
0
получаем дробную часть, умножаем на 1000, используем floatval, наслаждаемся.