Tim_Jones
(Tim Jones)
April 7, 2022, 8:26pm
1
Hi Youngsters (or oldsters still holding onto their little gray cells) -

I’m working with a percentages model and I can’t tell if it’s my mind or a Xojo thing.

I’m trying to get the percentage of a disk used and use this formula:

```
thePercentage = (theFullDiskSizeInBytes - (theFullDiskSizeInBytes - theUsedDiskSpaceInBytes)) / 100
```

All three properties are Doubles.

But, I’m getting strange values as the result and feel that rounding the resulting thePercentage to 2 decimals would sort things. Is my only option the multiply thePercentage by 100, Round that, and then divide that by 100?

```
thePercentage = Round(thePercentage * 100) / 100
```

Thanks for any suggestions or agreements with my insanity.
A completely befuddled old guy

AlbertoD
(AlbertoD)
April 7, 2022, 8:30pm
2
This

is the same as:

```
(0 + theUsedDiskSpaceInBytes) / 100
```

Percentage = used/full * 100

so

thePercentage = theUsedDiskSpaceInBytes / theFullDiskSizeInBytes * 100

should do it, unless the size in bytes is crazy big
You can format to 2dp if you need to for display purposes.

The first part of the formula can be evaluated like this:

```
theFullDiskSizeInBytes - (theFullDiskSizeInBytes - theUsedDiskSpaceInBytes)
theFullDiskSizeInBytes - theFullDiskSizeInBytes + theUsedDiskSpaceInBytes
theUsedDiskSpaceInBytes
```

So your formula is actually:

```
thePercentage = theUsedDiskSpaceInBytes / 100
```

That’s taking a double and dividing by an integer, so try this instead:

```
thePercentage = theUsedDiskSpaceInBytes / 100.0
```

BUT, I think what you really want is…

```
thePercentage = ( theUsedDiskSpaceInBytes / theFullDiskSizeInBytes ) * 100.0
```

Tim_Jones
(Tim Jones)
April 7, 2022, 8:49pm
5
I totally know that, and I’m totally embarrassed that I was so busy worrying about the trig to create the pie chart that I fumbled the simple math …

Thanks to each of you.

2 Likes

Never been there , nosiree…

2 Likes