NexusFi: Find Your Edge


Home Menu

 





Truncate a double, no rounding


Discussion in EasyLanguage Programming

Updated
    1. trending_up 1,230 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?
I Have a Thing Called Iran -- Trump Stays in DC as Airsp …
Prediction Markets & Event Contracts
One Wallet Made $200K in Hours: AP Probes Polymarket Cea …
Prediction Markets & Event Contracts
Powell in 48 Hours: Word Markets Give 78% on Inflation, …
Prediction Markets & Event Contracts
Kalshi Sets $4.13B All-Time Weekly Record as Polymarket …
Prediction Markets & Event Contracts
Al Arabiya: US-Iran Draft Deal Within Hours Contains Hor …
Prediction Markets & Event Contracts
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Big Mike in Ecuador
196 thanks
Sober Journey With S&P
27 thanks
30 Sessions
20 thanks
Volume Indicators
8 thanks
BERN ALGOS algo trading journal
8 thanks
  #2 (permalink)
 ABCTG   is a Vendor
 
Posts: 2,448 since Apr 2013
Thanks Given: 494
Thanks Received: 1,642

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
Legendary Market Wizard
 
Experience: Intermediate
Platform: NinjaTrader
Broker: AMP/CQG
Trading: ES, NQ, YM
Frequency: Daily
Duration: Minutes
Posts: 4,580 since Oct 2009
Thanks Given: 4,267
Thanks Received: 6,202


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