title: Convert args to double in NodeJS addon
body: <p>I would like to convert the argument 0 to a long, to use it into a dll function. </p>
  
  <p>The function is defined as <code>long function(long)</code></p>
  
  <pre><code>long __stdcall VBVMR_GetVoicemeeterVersion(long * pVersion);
  </code></pre>
  
  <p>And the call is like </p>
  
  <pre><code>void Voicemeeter_run(const FunctionCallbackInfo&lt;Value&gt;&amp; args){
    Isolate* isolate = Isolate::GetCurrent();
  
    if (args.Length() &lt; 1) {
      isolate-&gt;ThrowException(Exception::TypeError(
          String::NewFromUtf8(isolate, "Run needs 1 argument")));
      return;
    }
  
    if (!args[0]-&gt;IsNumber()) {
      isolate-&gt;ThrowException(Exception::TypeError(
          String::NewFromUtf8(isolate, "Argument 1 must be a number")));
      return;
    }
  
    long type = args[0]-&gt;NumberValue();
    //long type = 2;
    long value = iVMR.VBVMR_RunVoicemeeter(type);
    Local&lt;Number&gt; num = Number::New(isolate, value);
    args.GetReturnValue().Set(num);
  }
  </code></pre>
  
  <p>The I got the following warning : </p>
  
  <pre><code>..\vm-wrapper.cc(101): warning C4244: 'argument' : conversion de 'double' en 'long', perte possible de données [D:\Workspace\node-voicemeter\build\vm-wrapper.vcxproj]
  </code></pre>
  
  <p>Is there any other Node method? If I convert is to string then convert it to long via C native function I would not loose data, right? (I do not really care for the "data loss", but I would like to get rid of the warning)</p>