expressão regular para um número decimal válido de 2 dígitos

Eu quero ter uma validação em php para o preço que pode ser 100 ou 100.45 As duas casas decimais serão opcionais.

Agora a validação deve permitir apenas dígitos.

Até agora eu consegui alcançá-lo

if (!preg_match('/^[0-9]+(\.[0-9]{1,2})?/', "100"))
{
    echo "Invalid";
}
else
{
    echo "Valid";
}

mas o problema aqui é que ele está mostrando válido mesmo se eu inserir 100a.00 ou 100a ou 100.a00

Por favor, ajude-me a corrigi-lo para que apenas dígitos sejam permitidos, ou seja, 100 ou 100.00

questionAnswers(2)

yourAnswerToTheQuestion