Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];

Вниз

Существует ли в Дельфи аналог функции toPrecision, округляющей   Найти похожие ветки 

 
Гек   (2009-01-14 17:16) [0]

числа до ЗНАЧАЩИХ цифр после запятой, а не просто до N чисел после запятой?


 
Сергей М. ©   (2009-01-14 17:21) [1]

Приведи пример  ..


 
Jeer ©   (2009-01-14 17:25) [2]

toГек
Опять началось..


 
palva ©   (2009-01-14 17:41) [3]

Если считать, что toPrecision является преобразованием числа в строку, то для нее имеется аналог в Делфи. Это функция Format с подходящим спецификатором.


 
Правильный$Вася   (2009-01-14 17:41) [4]

значащих для кого?


 
tesseract ©   (2009-01-14 17:41) [5]


> числа до ЗНАЧАЩИХ цифр после запятой, а не просто до N чисел
> после запятой?


Это числа со знаком что ли ? Округление бывает арифметическое, банковское и бухгалтерское. Скажи какое нужно.


 
Jeer ©   (2009-01-14 17:47) [6]


> Правильный$Вася   (14.01.09 17:41) [4]
>
> значащих для кого?
>


Вот именно.
Чел вообще не в теме сути.


 
Гек   (2009-01-14 17:54) [7]


> Сергей М. ©   (14.01.09 17:21) [1]
>
> Приведи пример  ..


a = 0.000000000123457
a.toPrecision(2) даёт 0.00000000012


 
clickmaker ©   (2009-01-14 18:24) [8]

руками надо писать
по стандарту значащими считаются все, а не только после нулей


 
Jeer ©   (2009-01-14 18:25) [9]


> по стандарту значащими


по факту, вообще-то :)


 
Гек   (2009-01-14 18:33) [10]


> clickmaker ©   (14.01.09 18:24) [8]
>
> руками надо писать
> по стандарту значащими считаются все, а не только после
> нулей


Можно ссылку на стандарт?


 
clickmaker ©   (2009-01-14 18:35) [11]

> [9] Jeer ©   (14.01.09 18:25)

стандарт де-факто )


 
clickmaker ©   (2009-01-14 18:39) [12]

> [10] Гек   (14.01.09 18:33)

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


 
Jeer ©   (2009-01-14 18:41) [13]


> Гек   (14.01.09 18:33) [10]
>
>
> > clickmaker ©   (14.01.09 18:24) [8]
> >
> > руками надо писать
> > по стандарту значащими считаются все, а не только после
> > нулей
>
>
> Можно ссылку на стандарт?


Арифметика в десятичных цифрах вроде как из Индии пришла.
Послать ?

Ну а уж позиционную вообще придумали то ли шумеры, то ли вавилоняне.
Послать ?


 
Гек   (2009-01-14 18:44) [14]


> clickmaker ©   (14.01.09 18:39) [12]
>
> > [10] Гек   (14.01.09 18:33)
>
> а не имею в виду научные стандарты. Я про функции дельфи:
>  им можно указать общее число цифр, всего и после запятой


Это я знаю. Но хочется, именно математический стандарт.
Поискал в исходниках Дельфи - вроде нету. Или может называется как-то по-другому?


 
Denis__ ©   (2009-01-14 18:48) [15]

Не кажется, что искать в "исходниках Дельфи" математические стандарты - по меньшей мере глупо?


 
Гек   (2009-01-14 19:18) [16]

Пытаюсь написать функцию. Сложно.


 
Сергей М. ©   (2009-01-14 19:32) [17]


> a = 0.000000000123457
> a.toPrecision(2) даёт 0.00000000012


Это пример того что имеется по факту.
А где пример того что тебе требуется пр  указанном тобой  a ?


 
Гек   (2009-01-14 20:03) [18]


> Сергей М. ©   (14.01.09 19:32) [17]
>
>
> > a = 0.000000000123457
> > a.toPrecision(2) даёт 0.00000000012
>
>
> Это пример того что имеется по факту.
> А где пример того что тебе требуется пр  указанном тобой
>  a ?


Что именно непонятно?


 
Сергей М. ©   (2009-01-14 20:17) [19]


> Гек   (14.01.09 20:03) [18]


> Что именно непонятно?


Непонятно где здесь значащие, а где незначащие "цифры".
И еще непонятно, с каких пор значащими стали "цифры", если со времен ЦГ значащими были разряды


 
Гек   (2009-01-14 21:39) [20]


> Сергей М. ©   (14.01.09 20:17) [19]
>
>
> > Гек   (14.01.09 20:03) [18]
>
>
> > Что именно непонятно?
>
>
> Непонятно где здесь значащие, а где незначащие "цифры".


Значит надо сперва школу кончить.


 
Jeer ©   (2009-01-14 23:16) [21]


> Гек   (14.01.09 21:39) [20]
> Значит надо сперва школу кончить.


Похвально такое старание, одобряем-с.

Некоторым, впрочем, не мешает туда заново поступить.
Соболезную, но придется пройти путь до конца.


 
Чук   (2009-01-14 23:28) [22]

function OrderOf(X: Double): Integer;
var absX: Double;
begin
 absX := Abs(X);
 if X = 0 then
   Result := 0
 else if absX >= 1 then
   Result := -Trunc(-Ln(absX)/Ln(10))
 else
   Result := -Trunc(-Ln(absX)/Ln(10))-1;
end;

function ToPrecision(X :Double; N: Integer): Double;
var ord: Integer;
begin
 if N < 1 then
 begin
   Result := X;
   Exit;
 end;
 ord := OrderOf(X);
 Result := RoundTo(X, ord-N+1);
end;



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.047 c
2-1232877614
CodeMaster
2009-01-25 13:00
2009.03.15
Маска файла


2-1232475963
Тимоха
2009-01-20 21:26
2009.03.15
правка компонентов indy


2-1232932287
Тимоха
2009-01-26 04:11
2009.03.15
перехват сообщения "восстановить"


15-1231450495
oxffff
2009-01-09 00:34
2009.03.15
The Future of the Delphi Compiler


2-1232578253
RustB
2009-01-22 01:50
2009.03.15
Ошибка при добавлении записи в access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский