How can I get correct figure from formula of float

Debug.Log display correct formula but actually the position of object is not.
When Debug.Log display 0.01xxxx the object moves to x=1.xxxx. When Debug.Log display 0.009xxx object moves to
How can I solve this problem?
I’m so sorry for my rude English.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class moveWall : MonoBehaviour
// Start is called before the first frame update
void Start()


// Update is called once per frame
void Update()
    var sin = Math.Sin(3*(Time.time));
	Transform myTransform = this.transform;
	Vector3 pos = myTransform.position;
    pos.x = (float)(0.00836 + (sin+1)*0.00157);
	myTransform.position = pos; //this line has problems


I think I don’t really understand your problem. Do you mean that the Debug.Log output is different / not what you expect? Or do you mean that your object is not located at the wanted position? Your object will move on the x axis from 0.00836 up to 0.0115 and back.

If numbers get too small they are displayed using scientific notation. Maybe you have trouble reading scientific notation? The number 9.123E-3 is the same as 0.009123. It’s essentially 9.123 * 10^-3 which is 9.123 * 0.001 which is 0.009123

If you don’t want to print the number in scientific notation you can use: