user13942: I have an indescribable bug where read and write commands give back an array of numbers that are the digits of the input number except +48. Kinda hard to explain. Basically if I type 0 into this code:
    void setup(){
      Serial.begin(9600); //Begin serial connection
    }
    void loop(){
      if(Serial.available()){ //If serial available...
        double ser = Serial.read(); //Read serial value and write it to 'ser'
        Serial.println(ser); //Print 'ser'
      }
    }

I receive 48. 1 means 49, 2 means 50, 3 means 51... And then two digit numbers, which are the same except for each digit. 10 returns 49 48, 33 returns 51 51, 22 returns 50 50.

user10794: Serial.read returns a character. The character '0' is 48 in decimal. So this is doing what you expect (or what I expect, anyway). I suggest not using double there, eg.
    char ser = Serial.read(); //Read serial value and write it to 'ser'


13942: <p>I have an indescribable bug where read and write commands give back an array of numbers that are the digits of the input number except +48. Kinda hard to explain. Basically if I type 0 into this code:</p>

<pre><code>    void setup(){
      Serial.begin(9600); //Begin serial connection
    }
    void loop(){
      if(Serial.available()){ //If serial available...
        double ser = Serial.read(); //Read serial value and write it to 'ser'
        Serial.println(ser); //Print 'ser'
      }
    }
</code></pre>

<p>I receive 48. 1 means 49, 2 means 50, 3 means 51... And then two digit numbers, which are the same except for each digit. 10 returns 49 48, 33 returns 51 51, 22 returns 50 50.</p>
 10794: <p>Serial.read returns a character. The <strong>character</strong> '0' is 48 in decimal. So this is doing what you expect (or what I expect, anyway). I suggest not using <code>double</code> there, eg.</p>

<pre><code>    char ser = Serial.read(); //Read serial value and write it to 'ser'
</code></pre>
