Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / float разбить на целую и дробную часть / 7 сообщений из 7, страница 1 из 1
04.06.2004, 09:38
    #32547850
slavik77777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
float разбить на целую и дробную часть
есть float 111.222
нужно получить строки
111
222

что - та найти не могу как делать
можно конечно самому написать,
но есть же красивый какой нибудь способ.
что - нибудь типа NumberFormat...
...
Рейтинг: 0 / 0
04.06.2004, 09:56
    #32547889
Грасоff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
float разбить на целую и дробную часть
нужно получить строки? или числа? хотя в общем без разницы.

как вариант (хотя полагаю что ты этим и пользуешься):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    float a =  111 .222f;
    String s = String.valueOf(a);
    System.out.println(s);
    int dotPos = s.indexOf(".");
    if (dotPos != - 1 ) {
      System.out.println(s.substring( 0 , dotPos));
      System.out.println(s.substring(dotPos +  1 ));
    }

Код: plaintext
1.
2.
== == == == == == == == == == == == == == == == == == 
== Face down, ass up - that's the way we like to fuck
...
Рейтинг: 0 / 0
07.06.2004, 04:50
    #32550040
slavik77777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
float разбить на целую и дробную часть
Красиво, но я думал, есть какой - нибудь метод...
Реализовал немного иначе, у меня задачка проще на самом деле была.
Есть метры получить отдельно км и м
делал так
int fkm = 15655;
System.out.println("\n"+fkm);
System.out.println("\n"+Math.round(fkm/1000));
System.out.println("\n"+(fkm-(Math.round(fkm/1000))*1000));
...
Рейтинг: 0 / 0
07.06.2004, 12:09
    #32550454
stdio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
float разбить на целую и дробную часть
М.б. тогда надо использовать floor, а не round?
_______________
Alex
There are three kinds of people: those who can count and those who can't
...
Рейтинг: 0 / 0
08.06.2004, 09:38
    #32551769
slavik77777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
float разбить на целую и дробную часть
Честно говоря думал есть разница... теперь в затруднении.
System.out.println("\n"+"************************");
System.out.println("\n "+fkm+" round="+Math.round(fkm/1000)+" floor="+Math.floor(fkm/1000));
System.out.println("\n "+fkm+" round="+(fkm-(Math.round(fkm/1000))*1000)+" floor="+(fkm-(Math.floor(fkm/1000))*1000));
System.out.println("\n"+"---------------------------");
System.out.println("\n "+fkm1+" round="+Math.round(fkm1/1000)+" floor="+Math.floor(fkm1/1000));
System.out.println("\n "+fkm1+" round="+(fkm1-(Math.round(fkm1/1000))*1000)+" floor="+(fkm1-(Math.floor(fkm1/1000))*1000));

************************

16666 round=16 floor=16.0

16666 round=666 floor=666.0

---------------------------

13333 round=13 floor=13.0

13333 round=333 floor=333.0
...
Рейтинг: 0 / 0
08.06.2004, 11:42
    #32552052
stdio
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
float разбить на целую и дробную часть
slavik77777Честно говоря думал есть разница... теперь в затруднении
Издеваетесь?
Код: plaintext
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.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
for( float i =  0 ; i <  20 ; i++ ) {
      float val =  3  + i/ 10 ;
      System.out.println( "Value = " + val + "\n" +
                          "\tMath.floor(val) = " + Math.floor(val) + "\n" +
                          "\tMath.round(val) = " + Math.round(val) + "\n");
    }

Value =  3 . 0 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  3 


Value =  3 . 1 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  3 


Value =  3 . 2 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  3 


Value =  3 . 3 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  3 


Value =  3 . 4 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  3 


Value =  3 . 5 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  4 


Value =  3 . 6 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  4 


Value =  3 . 7 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  4 


Value =  3 . 8 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  4 


Value =  3 . 9 
	Math.floor(val) =  3 . 0 
	Math.round(val) =  4 


Value =  4 . 0 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  4 


Value =  4 . 1 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  4 


Value =  4 . 2 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  4 


Value =  4 . 3 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  4 


Value =  4 . 4 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  4 


Value =  4 . 5 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  5 


Value =  4 . 6 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  5 


Value =  4 . 7 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  5 


Value =  4 . 8 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  5 


Value =  4 . 9 
	Math.floor(val) =  4 . 0 
	Math.round(val) =  5 
_______________
Alex
There are three kinds of people: those who can count and those who can't
...
Рейтинг: 0 / 0
09.06.2004, 03:41
    #32553328
slavik77777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
float разбить на целую и дробную часть
понял я где мои грабли. Сделал бы я щас...
System.out.println("\n 12./10="+12./10);
System.out.println("\n 12/10="+12/10);
System.out.println("\n 17./10="+17./10);
System.out.println("\n 17/10="+12/10);
12./10=1.2
12/10=1
17./10=1.7
17/10=1
Всем огромное спасибо!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / float разбить на целую и дробную часть / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]