private static int writeSpecial(byte[] buf, int off, float floatValue, boolean json) {
        if (json) {
            IOUtils.putIntUnaligned(buf, off, NULL_32);
            return off + 4;
        }

        if (Float.isNaN(floatValue)) {
            buf[off] = 'N';
            buf[off + 1] = 'a';
            buf[off + 2] = 'N';
            return off + 3;
        }

        if (floatValue == Float.NEGATIVE_INFINITY) {
            buf[off++] = '-';
        }

        IOUtils.putLongUnaligned(buf, off, INFINITY);
        return off + 8;
    }
Conversion of ieee floating point numbers to Scientific notation

<p> Using the difference estimation method </p>
<p> The output may not be the shortest, but the general result is correct </p>

@param doubleValue &gt; 0
core/src/main/java/com/alibaba/fastjson2/util/NumberUtils.java