NexusFi: Find Your Edge


Home Menu

 





Truncate a double, no rounding


Discussion in EasyLanguage Programming

Updated
    1. trending_up 1,341 views
    2. thumb_up 4 thanks given
    3. group 3 followers
    1. forum 4 posts
    2. attach_file 0 attachments




 
Search this Thread
  #1 (permalink)
jb2080
San Diego, California
 
Posts: 8 since Jun 2021
Thanks Given: 10
Thanks Received: 0

Hi everyone, I'm having trouble limiting a double to two decimal places but without rounding it. For example, I'd like to turn this double 0.2298 into this double 0.22
I tried things like: StrToNum(NumToStr(0.2298,4)) but StrToNum won't let you specify how many digits.


Reply With Quote

Can you help answer these questions
from other members on NexusFi?
Without Pulisic, USA 61.5% Live vs. Australia -- France …
Prediction Markets & Event Contracts
Ceasefire Collapse: Iran Fires 24 Missiles, Israel Hits …
Traders Hideout
Sundays Verdict: Lebanon Locked at 99.85% as Iran June 7 …
Prediction Markets & Event Contracts
The June 15 Resolution Trap: Irans Agreed Text Still Pri …
Prediction Markets & Event Contracts
GDP Day: The First Economic Reckoning -- Pahlavi at 6.55 …
Prediction Markets & Event Contracts
 
  #2 (permalink)
 ABCTG   is a Vendor
 
Posts: 2,448 since Apr 2013
Thanks Given: 494
Thanks Received: 1,643

jb2080,

when you want to truncate a value basic math seems your best approach. Dividing the integer portion (using the reserved work IntPortion) of your value after you multiplied it with 100 by 100 will give you the result you are looking for.
 
Code
	valueToTruncate = 0.2298 ;
		
	valueToTruncate = IntPortion( valueToTruncate * 100 ) / 100 ;
It should be noted, that while this will remove the "98" from your value, it will not change the precision of decimal variables or the number of decimal places stored internally by the platform.

Regards,

ABCTG



jb2080 View Post
Hi everyone, I'm having trouble limiting a double to two decimal places but without rounding it. For example, I'd like to turn this double 0.2298 into this double 0.22
I tried things like: StrToNum(NumToStr(0.2298,4)) but StrToNum won't let you specify how many digits.


Follow me on X Reply With Quote
  #3 (permalink)
jb2080
San Diego, California
 
Posts: 8 since Jun 2021
Thanks Given: 10
Thanks Received: 0


Yes!!!! Wow that works great, thanks ABCTG!


Reply With Quote
  #4 (permalink)
 
trendisyourfriend's Avatar
 trendisyourfriend 
Quebec Canada
Market Wizard
 
Experience: Intermediate
Platform: NinjaTrader
Broker: AMP/CQG
Trading: ES, NQ, YM
Frequency: Daily
Duration: Minutes
Posts: 4,581 since Oct 2009
Thanks Given: 4,267
Thanks Received: 6,211


jb2080 View Post
Hi everyone, I'm having trouble limiting a double to two decimal places but without rounding it. For example, I'd like to turn this double 0.2298 into this double 0.22
I tried things like: StrToNum(NumToStr(0.2298,4)) but StrToNum won't let you specify how many digits.

number = 0.2298
rounded_number = math.floor(number * 100) / 100
print(rounded_number) # Output: 0.22


Reply With Quote
Thanked by:
  #5 (permalink)
jb2080
San Diego, California
 
Posts: 8 since Jun 2021
Thanks Given: 10
Thanks Received: 0

This works correctly for me also, thanks!


Reply With Quote




Last Updated on July 24, 2023


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top
no new posts