how to set a number from 0 to 1 in 1 second?

how to set a number from 0 to 1 Within three seconds in Unity3d? I want to set following code: `transform.position=Vector3.Lerp(transform.position,targetPos,i)`

Use a coroutine:

var seconds = 3.0;
var targetPos : Vector3;

function Start () {
    var t = 0.0;
    var rate = 1.0/seconds;
    var startPos = transform.position;
    while (t < 1.0) {
        t += Time.deltaTime * rate;
        transform.position = Vector3.Lerp(startPos, targetPos, t);
        yield;
    }
}

See also MoveObject.

var targetPos : Vector3;

Move(transform.position, targetPos);

function Move(start : Vector3, finish : Vector3) {
    var lerp = 0.0f;
    while (lerp != 1.0f) {
        lerp = Mathf.MoveTowards(lerp, 1.0f, Time.deltaTime / 3.0f);
        transform.position = Vector3.Lerp(start, finish, lerp);
    }
}

You can accomplish this using LeanTween:

var varToChange:float;
function updateNewValue( val:float ){
   varToChange = val;
   Debug.Log("the tweened new value (called every frame):"+varToChange);
}

function Start(){
   var from:float = 0.0;
   var to:float = 1.0;
   var time:float = 3.0;
   var options = {};
   LeanTween.value(updateNewValue, from, to, time, options);
}