Repository: kubernetes
Issue: The number conversion of `Value()` of type Quantity is incorrect
Labels: kind/bug,sig/api-machinery,triage/accepted

### What happened?

We are trying to extract the value from a quantity created by `resource.ParseQuantity`. We attempted to achieve this by calling the method `Value()` of the Quantity object. But the return value of `Value()` is incorrect when exponent is a large number

The quantity we gave was `-.484785E-7466` which is a negative number very close to zero. You can check the result on wolfram alpha. So the correct answer should be -1, but the output of the method `Value` is 1.

### What did you expect to happen?

According to the definition of `Value()`, 
> Value returns the unscaled value of q rounded up to the nearest integer away from 0

As `-.484785E-7466` is a negative number and the value is between -1 and 0, the output should be -1. But instead, what we got is 1, which is clearly wrong.

### How can we reproduce it (as minimally and precisely as possible)?

**Reproduce**

Run the following code with all required packages imported. Note that we used the input `-.484785E-7466` to construct the Quantity object.

```go
func main() {
	test := "-.484785E-7466"
	ans, err := resource.ParseQuantity(test)
	if err == nil {
		fmt.Println(ans.Value())
        }
}
```
The quantity we gave was `-.484785E-7466` which is a negative number very close to zero. You can check the result on wolfram alpha. So the correct answer should be -1, but the output of the method `Value` is 1.

### Anything else we need to know?

We have also tried the following input and here is the output we get:
|input|output|
|-|-|
|.484785E-7466|1|
|-.484785E7466|0|
|.484785E7466|0|
|-.484785E-1|-1|
|.484785E-1|1|

It seems that if the exponent part is too big, the result will be incorrect. We guess that there may be an overflow issue. 

### Kubernetes version

<details>

```console
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-03T13:46:05Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.9", GitCommit:"6df4433e288edc9c40c2e344eb336f63fad45cd2", GitTreeState:"clean", BuildDate:"2022-05-19T19:53:08Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}
WARNING: version difference between client (1.24) and server (1.22) exceeds the supported minor version skew of +/-1
```

</details>


### Cloud provider

<details>

</details>


### OS version

<details>

```console
# On Linux:
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$ uname -a
Linux XXX 5.13.0-44-generic #49~20.04.1-Ubuntu SMP Wed May 18 18:44:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux


# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here
```

</details>


### Install tools

<details>

</details>


### Container runtime (CRI) and version (if applicable)

<details>

</details>


### Related plugins (CNI, CSI, ...) and versions (if applicable)

<details>

</details>