python如何在编制程序时用单精度

背景:刚学python,想要用python比较两种算法输出结果的精确度,题目要求是编制程序时需要单精度输出。为什么题主在代码中已经使用了np.float32()来控制单精度浮点数输出,而结果显示还是有16位小数(即双精度呢),代码应该怎么改正呢?请各位解读指正!!
代码如下:
import numpy as np
N = int(input("请输入N值:"))
A = np.float32((3 / 2 - 1 / N - 1 / (N+1)) / 2)
A1 = np.float32(0)
A2 = np.float32(0)
for i in range(2, N+1):
A1 += np.float32(1/(i**2 - 1))

for i in range(N, 1, -1):
A2 += np.float32(1/(i**2 - 1))

print(f'精确值为:{A}')
print(f'从大到小的顺序累加得:{A1}')
print(f'从小到大的顺序累加得:{A2}')

输出结果如下:
请输入N值:1000000
精确值为:0.7499989867210388
从大到小的顺序累加得:0.7498521208763123
从小到大的顺序累加得:0.7499990463256836

同样问题,蹲