forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Про дробную часть (http://forum.boolean.name/showthread.php?t=4604)

-=SCiP=- 29.09.2007 02:29

Re: Sound ~~~
 
Как сделать так
a#=2,5548
s%=5548
и наоборот!

dimond 29.09.2007 04:38

Re: Sound ~~~
 
Цитата:

Сообщение от -=SCiP=-
Прошу большое извенение за дополнительный вопрос на не в тему!
Как сделать так
a#=2,5548
s%=5548
и наоборот!

Вовчик, сначала обьясни нормально что именно
поменять местами что ли

MiXaeL 29.09.2007 14:52

Re: Про дробную часть
 
Может тебе это надо
Код:


s#=a#-Floor(a#)
repeat
 s=s*10
until s<>int(s)
s=int(s)

(Если я только не перепутал Floor и Ceil)

HolyDel 29.09.2007 14:57

Re: Про дробную часть
 
еще со знаком "-" надо поиметь близкие отношения.

Platon 29.09.2007 15:36

Re: Про дробную часть
 
Цитата:

Сообщение от Michael
Может тебе это надо
Код:


s#=a#-Floor(a#)
repeat
 s=s*10
until s<>int(s)
s=int(s)

(Если я только не перепутал Floor и Ceil)

Жуть =-O

s = a - Int(a)

impersonalis 29.09.2007 16:19

Re: Про дробную часть
 
Цитата:

s = a - Int(a)
s=0

HolyDel 29.09.2007 16:42

Re: Про дробную часть
 
Cyan, не прокатит.
int - округлит.
2.9 - int(2.9)
2.9 - 3
-0.1
Imper, неправда ваша, а то может быть дробным.

impersonalis 29.09.2007 16:48

Re: Про дробную часть
 
Цитата:

Сообщение от HolyDel
-0.1
Imper, неправда ваша, а то может быть дробным.

По условиям задачи а дробное (но причём здесь это?), s - целое
Код:

a#=2.5548
s%=5548
s = a - Int(a)
Print s


HolyDel 29.09.2007 16:52

Re: Про дробную часть
 
точно, был неправ. s то целое.
вот, извращенское, но изящное решение:

a#=2.5548
d#=a# Mod 1
s=d*(10^(Len(Str(d))-2))
Print s

dimond 01.10.2007 02:14

Re: Про дробную часть
 
что-то я стормозил, сразу на цифры не посмотрел
использовать строку будет тормозно, а если у него тысячи таких вычислений.
мой вариант

a#=-2.5548
s%=(Abs(a)-Floor(Abs(a)))*Sgn(a)*10000

количество нулей в множителе определяет кол-во чисел после запятой

HolyDel 01.10.2007 08:33

Re: Про дробную часть
 
а если у него разное количество цифр после запятой?

-=SCiP=- 02.10.2007 02:26

Re: Про дробную часть
 
Не как не получается так как нужно!
a#=255.2487487 <Любое кол.
b#=< мне необходимо чтоб 2487487 стало цело численое!

dimond 02.10.2007 02:32

Re: Про дробную часть
 
Просто я всегда явно задаю параметры, без доп. вычислений, так проще и быстрее. ок, будет время, сделаю с вычислением.

HolyDel 02.10.2007 08:47

Re: Про дробную часть
 
a#=255.2487487
Print a#
Дядя, ето вы загнули, где это вы видали 4-х байтовое вещественное с такой точностью?

юзай строки

a$="255.2487487"
s%=0
s=Int(Mid(a,Instr(a,".",1)+1,100))
Print s

-=SCiP=- 03.10.2007 02:59

Re: Про дробную часть
 
Огромное всем спасибо!
Эту тему можно закрыть


Часовой пояс GMT +4, время: 21:07.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot