Bitcoin Forum
August 25, 2026, 06:21:17 PM *
News: Latest Bitcoin Core release: 31.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: How does merit approximation work  (Read 252 times)
Ambatman (OP)
Legendary
*
Offline

Activity: 1106
Merit: 1413


Don't tell anyone


View Profile WWW
May 26, 2026, 03:10:28 PM
Last edit: May 26, 2026, 07:36:18 PM by Ambatman
Merited by vapourminer (1), Welsh (1), TryNinja (1), Z_MBFM (1), Mia Chloe (1), mcdouglasx (1)
 #1

I will just blame it on me being bored
So tried a little experiment by trying to send 1.05 merit
And it sent as one
Then tried 1.88 and it also sent as one
So was quite disappointed approximation don't work.
Then tried 0.9999999999 and it sent as 1.

I know 0.9999 is numerically close to one but why doesn't others also undergo approximation.



Thank you in advance. The thread won't run long since its to satisfy curiosity.

Charles-Tim
Legendary
*
Offline

Activity: 2380
Merit: 6503


Leading Crypto Sports Betting & Casino Platform


View Profile
May 26, 2026, 03:17:01 PM
 #2

So was quite disappointed approximation don't work.
What kind of disappointment? Theymos did not mention anything about merit approximation. Only where he talked about decimal is when someone sent you 1 merit, that you will generate 0.5 smerit which will not show until you receive another 1 merit. Merit approximation is not necessary since we have not decimals in the merits.

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
Mia Chloe
Legendary
*
Offline

Activity: 1176
Merit: 2284


Contact me for your designs...


View Profile
May 26, 2026, 03:18:26 PM
 #3

~snip
Well I just tried 1.9 and it sent one. It's probably a simple php code that tells the system if merit Is greater than 1 and decimal, ignore the fractionally numbers and send  just the whole number but if the number put in is less than 1 and decimal send 1. I'm guessing if you try 0.2 the system will recognise as 1.

If that holds then I think this illustration of the code I gave code possibly be what we have backend else maybe it's just a default way PHP handles numbers with decimal.

Charles-Tim
Legendary
*
Offline

Activity: 2380
Merit: 6503


Leading Crypto Sports Betting & Casino Platform


View Profile
May 26, 2026, 03:23:22 PM
 #4

~snip
Well I just tried 1.9 and it sent one. It's probably a simple php code that tells the system if merit Is greater than 1 and decimal, ignore the fractionally numbers and send  just the whole number but if the number put in is less than 1 and decimal send 1. I'm guessing if you try 0.2 the system will recognise as 1.

If that holds then I think this illustration of the code I gave code possibly be what we have backend else maybe it's just a default way PHP handles numbers with decimal.
It is better it sends 1 that to send more than 1. If you want to send 2 merit instead but only 1 was sent, you can wait 60 seconds and send the remaining 1 merit that you want to send, making 2 in total. Sending less is better in what you can easily send the remaining.

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
Mia Chloe
Legendary
*
Offline

Activity: 1176
Merit: 2284


Contact me for your designs...


View Profile
May 26, 2026, 03:32:28 PM
 #5

It is better it sends 1 that to send more than 1. If you want to send 2 merit instead but only 1 was sent, you can wait 60 seconds and send the remaining 1 merit that you want to send, making 2 in total. Sending less is better in what you can easily send the remaining.
I can relate to what ambatman is saying because I'm pretty sure the forum is using PHP codes for the merit system back end and in php decimal numbers are treated a little differently from whole number they are handled as floats so if in the code it didn't say explicitly to round up it won't round up.

Code:
(int)1.05 ~ 1
(int)1.88 ~ 1
(int)0.9998 ~ 0
Something like this is casting I can't remember very much but I think it's how php handles numbers by default.

Pmalek
Legendary
*
Offline

Activity: 3598
Merit: 9486



View Profile
May 26, 2026, 03:32:50 PM
 #6

I have never tried entering decimal numbers when sending merits, so I have no idea what would happen. We don't need them for this purpose. Theymos probably never anticipated that someone would attempt to send 1.987 merits instead of the whole number they want to send, so there is no rounding system. I know that you only did it for fun and as an experiment but decimals don't help or make it easier to send merits. Adding a single digit '2' is easier than entering 1.9898 and expecting rounding to happen.

▄▄███████████████████▄▄
▄███████████████████████▄
████████████████████████
█████████████████████████
████████████████████████
████████████▀██████▀████
████████████████████████
█████████▄▄▄▄███████████
██████████▄▄▄████████████
████████████████████████
████████████████▀▀███████
▀███████████████████████▀
▀▀███████████████████▀▀
 
 EARNBET 
| 🏀
 
🏈 🏓
 
🎯 🥊
 
 🎾
 
 🏐
 
🏏 🏎️
|


███████▄▄███████████
████▄██████████████████
██▀▀███████████████▀▀███
▄████████████████████████
▄▄████████▀▀▀▀▀████████▄▄██
███████████████████████████
█████████▌██▀████████████
███████████████████████████
▀▀███████▄▄▄▄▄█████████▀▀██
▀█████████████████████▀██
██▄▄███████████████▄▄███
████▀██████████████████
███████▀▀███████████

....HIGHEST....
VIP REWARDS

  G U A R A N T E E D   
| 
 🜲 
KING OF
THE CASTLE

$200K in prizes
| 
..PLAY NOW..
Sammysmart001
Member
**
Offline

Activity: 200
Merit: 75


View Profile
May 26, 2026, 03:33:23 PM
 #7

I don’t really things merit approximation works here in the forum OP. It actually a floor function.

This was clear by thermos that when u receive  1 merit you earn 0.5 smerit which won’t actually show at ur dash still it 1. But let say 1.06 merit is send the system won’t carry the digit but rather it will be 1. So the 0.9998 case, it was round up at the database level as one,
So far I think there is only 1,2,3…. Merit. And the reason why this is if approximation really works here I think it will be abuse  

Learning Bitcoin | A P2P trader | Bybit & Opay
The Cryptovator
Legendary
*
Offline

Activity: 2996
Merit: 2610


Protect your privacy 🔏 it's very important


View Profile WWW
May 26, 2026, 03:42:44 PM
 #8

I will just blame it on me being bored
So tried a little experiment by trying to send 1.05 merit
And it sent as one
Then tried 1.88 and it also sent as one
So was quite disappointed approximation don't work.
Then tried 0.9998 and it sent as 1.

I know 0.9999 is numerically close to one but why doesn't others also undergo approximation.

Thank you in advance. The thread won't run long since its to satisfy curiosity.

I am curious how that idea came into your mind. Don't you have other works lol? I haven't thought this way and never tried this merit send less than one. The code is probably set up to send the merits with decimals and then send only the main input; otherwise, it will be ignored above the decimal. So if before the decimal is zero, then you know that zero merits couldn't be sent. Hence, these are showing like this.

I know it's your curiosity, but nothing is important or nothing is to be changed. We should follow the standard instead of thinking some other way.

 
 b1exch.to 
  ETH      DAI   
  BTC      LTC   
  USDT     XMR    
.███████████▄▀▄▀
█████████▄█▄▀
███████████
███████▄█▀
█▀█
▄▄▀░░██▄▄
▄▀██▄▀█████▄
██▄▀░▄██████
███████░█████
█░████░█████████
█░█░█░████░█████
█░█░█░██░█████
▀▀▀▄█▄████▀▀▀
osasshem
Full Member
***
Offline

Activity: 1140
Merit: 137


Creating a Safer Crypto Ecosystem


View Profile
May 26, 2026, 03:47:57 PM
 #9

Ohh, this is how the smerit works. I know that the merit system doesn't work with decimals, but never really knew how the smerit is being earned. Now I know. In your curiosity, why give merit in decimal at all? Cause I'm sure you know it won't show as decimal on the account your gave it.

I have a question; what happens to your smerit after sending in decimals? Does it mean your smerit will also reduce as your gave in decimal?


Donneski
Sr. Member
****
Offline

Activity: 756
Merit: 265


Contact Hhampuz for campaign


View Profile
May 26, 2026, 03:54:55 PM
 #10

Experiments like this can only be birthed by boredom just like you actually said Grin. The only explainable reason why 0.9999 did round up to 1 while 1.88 still dropped to 1 should be down to how SMF actually handles floats behind the scenes.

If someone sends you 1 merit, the 0.5 sMerit is not wasted; it is just not shown until you get another merit point.

The above rule means that fractions can be internally tracked through the backend but since balances must be whole numbers, the "send" function probably forces integers behind the scenes by removing the decimals and leaving you with whole numbers.

Now to the part you also experimented 0.9999, the number is extremely close to 1 that the system had to round it up to the nearest whole number which is 1.

So in a nutshell, the forum's UI accepts decimals but the database is programmed to force whole numbers.

mcdouglasx
Hero Member
*****
Offline

Activity: 1064
Merit: 678



View Profile WWW
May 26, 2026, 04:04:43 PM
Merited by vapourminer (1), promise444c5 (1)
 #11

The field where we enter the merit amount when sending is a text field and performs some rather strange validations. For example, I did a test sending 1 merit to the OP, but in the field I put "1hello," and it was sent completely ignoring the text. But then I tried with "hello1," and it didn't work.

I suppose the PHP parser only reads the digits from the beginning. "1" is a number, "h" is not, so it stops, preserving the 1. However, when sending "hello1," it detects "h" and immediately stops, invalidating the merit.

It should also have some kind of rounding of the decimals, but I assume it's not perfect rounding, or at least after we go beyond 1, this rounding is probably only valid up to 0:1, because it seems that from there on, they are truncated (1.88 = 1).

update:

I suppose the rounding is from 0 to 1 (0:1) because of the logic that for every merit received, we obtain 0.5 merits, which are not visible.

██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██



██
██
██
██
██
██
██



██
██
██
██
██



██
██

██
██
██
██
██
██
██
██
██
██
███████▄▄███████▄▄
████▄███████████████▄█████▄▄▄
██▄███████████████████▄▄██▀████▄▄▄▄▄▄▄▄███▄██████
▄███████████████████▀▄█████▄▄███████████▄▀▀▀██▄██
▄███▐███████████████▄▄▀███▀███▄█████████████▄███████
████▐██████████████████▀██▄▀██▐██▄▄▄▄██▀███▀▀███▀▀▀
█████████████████████▌▄▄▄██▐██▐██▀▀▀▀███████████
███████▌█████████▐██████▄▀██▄▀█████████████████████▄
▀██▐███▌█████████▐███▀████████▄██████████▀███████████
▀█▐█████████████████▀▀▀███▀██▀▀▀▀▀▀▀▀▀██▀▀▀███▀▀▀▀▀
██▀███████████████████▀▄██▀
████▀███████████████▀
███████▀▀███████▀▀
██
██


██
██
██
██
██
██
██
██
██

██
██
██


██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
 
    FAST    🔒 SECURE    🛡️ NO KYC        EXCHANGE NOW      
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██


██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██
██
██
██
██
██
promise444c5
Legendary
*
Offline

Activity: 1120
Merit: 1102


All things are numbers


View Profile WWW
May 26, 2026, 05:28:09 PM
Last edit: May 26, 2026, 05:59:27 PM by promise444c5
Merited by vapourminer (1)
 #12


I suppose the rounding is from 0 to 1 (0:1) because of the logic that for every merit received, we obtain 0.5 merits, which are not visible.
floor() .. only rounds down.
Checks will just be “0” or match  lesser than zero [i guess]..

[update]

Since it type- text , then probably direct casting or intval()
parseInt() works for JS but NaN is kinda odd to work with

Cookdata
Legendary
*
Online Online

Activity: 1778
Merit: 1468


Not Your Keys, Not Your Bitcoin


View Profile
May 26, 2026, 05:30:25 PM
 #13

I'm seeing suggestions of php functions like floor() and int() but OP said he tried sending 0.99 merit, that means it round the figure as 1 and it went through, both floor and int round numbers like 0.99 will change the input to 0, 1.5 to 1.
If sending 0.99 merit gives 1 merit, then the two functions was not used in this case because it should have give 0 merit which should return invalid.

OP also tried 1.8 and the result is 1 merit, then it could be any of the two inbuilt function in this case. That's beg the question which logic Theymos used to create the meriting page.

The logic could be a conditional statements or nested ones. I'm not too good at Javascript but the merit input is not one inbuilt function or as some suggested unless there is a function that did the job here that we don't know.

TryNinja
Legendary
*
Offline

Activity: 3668
Merit: 10947


@ List of no-KYC websites: https://bitlist.co


View Profile WWW
May 26, 2026, 05:42:44 PM
Merited by Ambatman (1)
 #14

Are you sure about the 0.9998 one? If I try to send 0.9998 merits, I get the forum error: "Invalid amount"

I managed to send 1.88 (became 1), so it's probably a simple PHP floor() function. That would explain why 0.9 becomes 0 and gives an error.

 
 b1exch.to 
  ETH      DAI   
  BTC      LTC   
  USDT     XMR    
.███████████▄▀▄▀
█████████▄█▄▀
███████████
███████▄█▀
█▀█
▄▄▀░░██▄▄
▄▀██▄▀█████▄
██▄▀░▄██████
███████░█████
█░████░█████████
█░█░█░████░█████
█░█░█░██░█████
▀▀▀▄█▄████▀▀▀
PX-Z
Legendary
*
Offline

Activity: 2282
Merit: 1372


Wallet Transaction Notifier - @txnNotifierBot


View Profile
May 26, 2026, 05:48:17 PM
 #15

It's either on frontend (javascript) and server validation (PHP) intervention as well as in database if datatype is integer and not decimal, so no decimals will work because that's how merit sending technically works.

.., but in the field I put "1hello," and it was sent completely ignoring the text. But then I tried with "hello1," and it didn't work.
In javascript validation parseInt("1hello") will become 1, but parseInt("hello1") will become NaN. Same on PHP intval("1hello") results 1 and intval("hello1") becomes 0.

0.9999 works probably due to Math.round(value) or round(value) validation.

This is just my thoughts, i didnt check js validation as i used mobile phone from posting this.

 
 b1exch.to 
  ETH      DAI   
  BTC      LTC   
  USDT     XMR    
.███████████▄▀▄▀
█████████▄█▄▀
███████████
███████▄█▀
█▀█
▄▄▀░░██▄▄
▄▀██▄▀█████▄
██▄▀░▄██████
███████░█████
█░████░█████████
█░█░█░████░█████
█░█░█░██░█████
▀▀▀▄█▄████▀▀▀
SuperBitMan
Hero Member
*****
Offline

Activity: 770
Merit: 682



View Profile
May 26, 2026, 05:51:03 PM
 #16

But they don’t send half merit, is either you are sending 1 and above or is there something I don’t know about the merit sending system Huh, because of this your thread I just decided to do some research on the merit sending system and it very clear that you can’t send anything more than 1 merit meaning you can’t send half.
Sometimes being too bored can make you think a lot of things and you can even do unexpected things Grin right now you need a bottle of beer to cool you down Grin.

█████████████████████████████
███████████▀▀███████████████
███████▀▀████▄▄█████████████
█████████▄▄██████▄▄▄▄███████
████████▀▀████████████▀▀▀▀██
████████████▀▀█▀▀▄██████████
███████▄▄███████████████████
██████████████████▄▄▄▄█████
███████▀▀████████████████████
████████████████▀▀▀▀███████
███████▄▄██████████▄▄████████
███████████▄▄██▄▄████████████
█████████████████████████████
 
 
 🕶 NO KYC 
|🜲 
VIP ❯❯❯❯
TRANSFER
| 
WEEKLY
RAKEBACK
|
| 
  PLAY NOW   
Z_MBFM
Hero Member
*****
Offline

Activity: 1218
Merit: 500



View Profile WWW
May 26, 2026, 05:59:29 PM
 #17

I will just blame it on me being bored
So tried a little experiment by trying to send 1.05 merit
And it sent as one
Then tried 1.88 and it also sent as one
So was quite disappointed approximation don't work.
Then tried 0.9998 and it sent as 1.

I know 0.9999 is numerically close to one but why doesn't others also undergo approximation.

Thank you in advance. The thread won't run long since its to satisfy curiosity.
Since merit points are only integer values, the program is designed this way. Any number less than 1 is invalid and 1 or less than 2 will automatically count as 1, and anything from 2 to 2.99 will count as 2. There are two systems that work here, when someone gets merit, 50% of the merit number is automatically counted as Smerit. This program has been set up to avoid the complexity of this calculation and to keep the values integer.

I tried to send less then 1 like 0.99, 0.8, 0.7 Value but it shows invalid. so  it proof less then 1 will not count as a valid number

It work like
Code:
<?php

// User input (can be decimal)
$inputMerit 2.75;

// Convert Merit to integer
// 1–1.99 = 1, 2–2.99 = 2, 3–3.99 = 3
$merit floor($inputMerit);

// Minimum value is 1
if ($merit 1) {
    
$merit 1;
}

// Generate actual sMerit (50%)
$actualSmerit $merit 0.5;

// Display only whole numbers (hide .5 values)
$displayedSmerit floor($actualSmerit);

// Show results
echo "Input Value: " $inputMerit "<br>";
echo 
"Final Merit: " $merit "<br>";
echo 
"Actual sMerit: " $actualSmerit "<br>";
echo 
"Displayed sMerit: " $displayedSmerit;

?>

Note - In the context of my description, I converted it into a program for the sake of understanding. Here, I also take the help of AI.

███████▄▄▀▀▀▀▀▄▄▄▄██████▄▄▀▀████▀▀▄▄
████▄▄▀▄▄████▄██▄▄▄█████▀▀▀▀█████
██▄▀▄▄██▀▀███▄▀██████▀▄▄██████▄██▄█
▄█▄▄▀▀████▄▄▀███████▄██████████▌████
█▀██▀▀▀▀███▄▄██████▐██████████████
▐▌█████▄▄▀█▀▀█████████████████▌███
█████▀▀▐▌████████▐█████████▀
██████████████████▄████████▀▄███▄▀
███████▄▄█████▄▀██▀▀▀▀▀███▀████▀
████▀▄▄▄▄▀▀███▄▄▄▀▄██▄▄▄▄███▄▄▀▀█▀▄█
█████████▀▀▀▀▀▀████▀▀████▀▀▀▄▄▄▀▄█▀
██▄▄▀▀▀▀▀▀██████▄▄▄██▀▀▀▀▀▀▀▄▄▄██▀
▄▀█████████████▀▀▀███████████▀▀▀
████
██
██
██
██
██
██
██
██
██
██
██
████
 

🛡️

📱
 
INSTANT TRANSACTIONS
SECURE & TRUSTWORTHY
24/7 ENTERTAINMENTS
PLAY ON ANY DEVICE
████
██
██
██
██
██
██
██
██
██
██
██
████
██
██
██
██
██
██
██
██
██
██
██
██
██
 
 $20 
██
██
██
██
██
██
██
██
██
██
██
██
██
 
  PLAY NOW  
Zoomic
Hero Member
*****
Offline

Activity: 1274
Merit: 562


Need a Campaign manager? TG: t.me/GodofThunderpro


View Profile
May 26, 2026, 06:52:44 PM
 #18

I will just blame it on me being bored
So tried a little experiment by trying to send 1.05 merit
And it sent as one
Then tried 1.88 and it also sent as one
So was quite disappointed approximation don't work.
Then tried 0.9998 and it sent as 1.

I know 0.9999 is numerically close to one but why doesn't others also undergo approximation.
xxx
Thank you in advance. The thread won't run long since its to satisfy curiosity.
Some people's brain functions so differently, maybe on a higher level. I actually do not see myself trying something different from a whole number in the merit box.
I'll always put a whole number, unless there is a forum bug bounty, that's when you'll see me run such kind of experiments.

However, I think that such approximations or deproximations depends on how data is received in the back end. But I understand your point that there needs to be consistency. But since it works, that might not be a headache on theymos to re-visit.


███████▄▄███▄███▄
███▄▄████████▌██
▄█████████████▐██▌
██▄███████████▌█▌
███████▀██████▐▌█
██████████████▌▌▐
████████▄███████▐▐
█████████████████
███████████████▄██▄
██████████████▀▀▀
█████▀███▀▀▀

▄▄▄██████▄▄▄███████▄▄▄
███████████████████████████
███▌█████▀███▌█████▀▀███████████▄▄▄▄▄▄▄▄
███▌█████▄███▌█████▄███▐███████████████████▄
▐████████████▀███████▄██████████▀▀▀▀▀▀▀▀████▀
▐████████████▄██▄███████████▌█████████▄████▀
▐█████████▀█████████▌█████████████▄▄████▀
██████████▄███████████▐███▌██▄██████▀
██████████████▀███▐███▌██████████████████████
████▀██████▀▀█████████▌███▀▀▀▀███▀▀▀▀▀▀▀████▌
 
      P R E M I E R   B I T C O I N   C A S I N O   &   S P O R T S B O O K      

█▀▀









▀▀▀

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

  98%  
RTP

 
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

▀▀█









▀▀▀

█▀▀









▀▀▀

▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

 HIGH 
ODDS

 
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

▀▀█









▀▀▀
 
..PLAY NOW..
Ambatman (OP)
Legendary
*
Offline

Activity: 1106
Merit: 1413


Don't tell anyone


View Profile WWW
May 26, 2026, 07:32:09 PM
 #19

Are you sure about the 0.9998 one? If I try to send 0.9998 merits, I get the forum error: "Invalid amount"

I managed to send 1.88 (became 1), so it's probably a simple PHP floor() function. That would explain why 0.9 becomes 0 and gives an error.
I just sent to you using similar format but it was 0.99999999
I guess I was just clicking nine's to see if it would break.
It's showing on the image I posted while sending to fillippone


I am curious how that idea came into your mind. Don't you have other works lol? I haven't thought this way and never tried this merit send less than one.
Lol I'm on leave so alot of time to do what a normal person shouldn't be doing.

promise444c5
Legendary
*
Offline

Activity: 1120
Merit: 1102


All things are numbers


View Profile WWW
May 27, 2026, 08:55:34 PM
Merited by vapourminer (1), TryNinja (1)
 #20

I managed to send 1.88 (became 1), so it's probably a simple PHP floor() function. That would explain why 0.9 becomes 0 and gives an error.
I just sent to you using similar format but it was 0.99999999
I guess I was just clicking nine's to see if it would break.
It's showing on the image I posted while sending to fillippone

You probably tried more than 16 9s. Not sure how it's implemented, but somehow it detects it as a float and triggers a floating precision error..
I did some little research and found out PHP uses the IEEE 754 double-precision standard.

"PHP typically uses the IEEE 754 double precision format, which will give a maximum relative error due to rounding in the order of 1.11e-16." - Source.

So once you crossed the maximum limit slot for the "Significand precision [53 bits (52 explicitly stored)].. approximately 16 decimal digits", it means it runs out of space and rounds to the nearest binary fraction from the way I understand it.

Source: https://en.wikipedia.org/wiki/Double-precision_floating-point_format

Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!