Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122747 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id E71B71A009C for ; Tue, 26 Mar 2024 12:07:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1711454898; bh=kqplhqNsAcAOqWFj8lTD0HBuBf3cf3PJOuNUHPa1Zp0=; h=To:Subject:Date:From:In-Reply-To:References:From; b=DYocPj6LnYCMxeGJAw2APhS9tfQyRzF4Asr3LPv/YjkWhwUL+Eci7EdqkSJs8EdnD GLx2j/fzk1+PE6zsnd3VRvrSKmnYZmGIv8Zs8WXU7CSiSRnCUHMIXK/0GlCigud0XO duj/whZPF6uOjBQdBsZDm9XPcG81CXj7Tek+Cn1P1Hb1wVbwcEoMYsP8HkqhjXNkiK 4307unk1XC20BI/XSQEals9lDk+HE8fAo8zjvoTujRlf0tWePaPd3RTV62uTORPRY9 KPVEA0K3hkLtWx2wk0UjxRU55VChGSjW1KdVl0TX7NBlVaKEX7aiP2W+NcY3pMehEi PjWW/Y8rbrg3Q== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B856718007D for ; Tue, 26 Mar 2024 12:08:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: * X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_50,DMARC_MISSING, HEADER_FROM_DIFFERENT_DOMAINS,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from gliadin.co.uk (gliadin.co.uk [80.82.115.221]) by php-smtp4.php.net (Postfix) with ESMTP for ; Tue, 26 Mar 2024 12:08:17 +0000 (UTC) Received: by gliadin.co.uk (Postfix, from userid 33) id C83D5FA02FC; Tue, 26 Mar 2024 15:07:51 +0300 (MSK) To: Subject: Re: [PHP-DEV] [RFC] [Discussion] Support object type in BCMath X-PHP-Originating-Script: 0:main.inc Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 26 Mar 2024 12:07:51 +0000 In-Reply-To: <5085240B-75B8-40B8-81B9-0E80B80B7C44@sakiot.com> References: <4F094EDA-5058-407D-AF39-06FD934FDE1F@sakiot.com> <38d69258-cdaf-45d3-ba52-dc1398301c8c@redmagic.org.uk> <5085240B-75B8-40B8-81B9-0E80B80B7C44@sakiot.com> Message-ID: <48be5c48dfa8ae2498d185322dd83aa3@gliadin.co.uk> X-Sender: barney@redmagic.org.uk User-Agent: Roundcube Webmail/0.7.1 From: barney@redmagic.org.uk (Barney Laurance) On 2024-03-26 11:35, Saki Takamachi wrote: > **I immediately reflected the above two points in my RFC** :D Thanks, looks good. >> One more suggestion - might it be worth adding a `format` function >> to the new BcNum class? This would be similar to the existing >> number_format function, but would avoid the need to lose precision by >> converting to float first. > > I came up with the following code, is it close to what you intended? > > ``` > $num = BcNum::fromNumberFormat(1.2345, 5); > $num->value; // 1.23450 > ``` No, that's not quite what I meant - I meant more like the opposite: ``` $bcNum = new BcNum('1234567890123456789.23456789'); echo $bcNum->format(8, '.', ',') // 1,234,567,890,123,456,789.23456789 ``` Maybe also worth providing a way to specify that all decimals should be printed, instead of just a fixed number of decimals.