Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Опять математика Добавлено: 18.02.07 20:28  

Автор вопроса:  20vek
Пишу код;
Private Sub Form_Load()
Form1.Caption = CDbl(55) / CDbl(3)
Form1.Caption = Form1.Caption & "  умножить на 3 =" & CDbl(Form1.Caption) * CDbl(3)
End Sub

Почему, разница в вычеслениях и как убрать?

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 18.02.07 21:19
Вах. Ещё один.
Только даже ещё более злостно, чем предудщий оратор, http://www.vbnet.ru/forum/show.aspx?id=130732

Ответить

Номер ответа: 2
Автор ответа:
 20vek



Вопросов: 10
Ответов: 71
 Профиль | | #2 Добавлено: 18.02.07 21:33
И где здесь злость? Здесь досада, что и тут нужно обрабатывать-Цыфры. Например приводить к (рублям и копейкам). Вопрос в чем, например если 6 подряд после запятой 9, КАК округлить в ноль?

Ответить

Номер ответа: 3
Автор ответа:
 20vek



Вопросов: 10
Ответов: 71
 Профиль | | #3 Добавлено: 18.02.07 22:00
Блин, уже сделал, просто если после запятой 6
цифр равны 999999 то округляем, и нахрен мат часть.

Ответить

Номер ответа: 4
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #4 Добавлено: 19.02.07 11:19
Матчасть не нахрен, а учить, и Currency рулит.

Ответить

Номер ответа: 5
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #5 Добавлено: 19.02.07 16:40
Currency фигня, я за 6 шет программизьма ни разу не испольховал его.
Double и точка. он же - эквивалент Int64 - плюс - неплохо дроби считает. а погрешность... она во всем есть :)

Ответить

Номер ответа: 6
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #6 Добавлено: 20.02.07 01:06
Double и точка. он же - эквивалент Int64

Что за глупость и откуда она?..

Ответить

Номер ответа: 7
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #7 Добавлено: 20.02.07 11:19
AgentFire, допустим за свои N лет программирования я тоже почти не применял Currency, но это отнюдь не означает, что сей тип данных не надо применять там где он действительно нужен. А уж насчет Int64 и Double, ты явную чушь сказал.

Ответить

Номер ответа: 8
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #8
Добавлено: 20.02.07 11:33
Double и точка. он же - эквивалент Int64

Угу, сильно высказывание :)

Ответить

Номер ответа: 9
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #9 Добавлено: 20.02.07 13:08
Ну ладно Вам пацана расстраивать.. Он свято верил в то, что это одно и тоже... а вы его вот так вот... об лавку ))) Добрее надо быть.. мягче как то ему надо было сказать об этом.. теперь у него останется глубокая психологическая травма.. ))))

Ответить

Номер ответа: 10
Автор ответа:
 W[4Fh]LF



Вопросов: 0
Ответов: 187
 Web-сайт: hunger.ru
 Профиль | | #10
Добавлено: 20.02.07 15:40
Ну разве только размером в памяти сходятся:)

PS ТС от этой погрешности в полной мере избавиться нельзя. Это связано с архитектурой процессора и форматом представления вещественных чисел в памяти.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам